首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NLog与AzureTableStorage

NLog与AzureTableStorage
EN

Stack Overflow用户
提问于 2017-07-12 10:17:03
回答 1查看 2.7K关注 0票数 1

尝试将日志插入到Azure表存储中,在使用NLog.Extensions.AzureTableStorage在Nlog.config文件中的扩展时,我在目标类型下获得了azure表存储的错误。

错误:--这是无效的xsi:类型 http://www.nlog-project.org/schemas/NLog.xsd:AzureTableStorage

FYI -我使用的是最新版本Nlog最新版本4.4.11 &我添加了Nlog.extensions.azuretablestorage的扩展(NugetVersion1.1.4)

配置文件的更新:

代码语言:javascript
复制
<extensions> 
  <add assembly="NLog.Extensions.AzureTableStorage"/> 
</extensions> 
<!-- set up a an azure storage table target --> 
<targets>
  <target name="AzureTableStorage" xsi:type="AzureTableStorage" PartitionKey="${date}.${logger}" RowKey="${ticks}.${guid}" ConnectionString="UseDevelopmentStorage=true" tableName="TempAzureTableStorageTargetTestsLogs" /> 
</targets>
EN

回答 1

Stack Overflow用户

发布于 2017-07-13 04:59:16

这是无效的xsi:类型http://www.nlog-project.org/schemas/NLog.xsd:AzureTableStorage

我假设您已经安装了将自动创建默认NLog.configNLog.config。因为这个包引用了NLog.Schema,这将在编辑NLog配置文件时启用Intellisense(TM)。

我已经检查过这个问题,上面的消息只是为了警告,日志功能会很好。您可以删除NLog.Config和NLog.Config包,然后警告消息就会消失。

FYI -我使用的是最新版本Nlog最新版本4.4.11 &我添加了Nlog.extensions.azuretablestorage的扩展(NugetVersion1.1.4)

NLog蓝表存储目标的最新版本为1.0.11。下面是我的代码片段,您可以参考它:

NLog.config

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd">

  <extensions>
    <add assembly="NLog.Extensions.AzureTableStorage"/>
  </extensions>
  
  <targets>
    <target xsi:type="AzureTableStorage" 
            name="NLogAzureTable"
            ConnectionStringKey="NLog.Azure.TableStorage.ConnectionString" 
            TableName="NLogTable"/>
  </targets>

  <rules>
    <logger name="*" minlevel="Info" writeTo="NLogAzureTable" />
    <logger name="*" minlevel="Info" writeTo="console" />
  </rules>
</nlog>

App.config

代码语言:javascript
复制
<appSettings>
  <add key="NLog.Azure.TableStorage.ConnectionString" value="{your-storage-account-connectionString}" />
</appSettings>

使用:

代码语言:javascript
复制
var logger = LogManager.GetLogger(nameof(Program));
logger.Info("hello world!!!");

结果:

有关如何配置NLog Azure表存储目标的详细信息,请参阅NLog.Extensions.AzureTableStorage。此外,您还可以参考NLog获得更多教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45054879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档