尝试将日志插入到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)
配置文件的更新:
<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>发布于 2017-07-13 04:59:16
这是无效的xsi:类型http://www.nlog-project.org/schemas/NLog.xsd:AzureTableStorage
我假设您已经安装了将自动创建默认NLog.config的NLog.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
<?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
<appSettings>
<add key="NLog.Azure.TableStorage.ConnectionString" value="{your-storage-account-connectionString}" />
</appSettings>使用:
var logger = LogManager.GetLogger(nameof(Program));
logger.Info("hello world!!!");结果:

有关如何配置NLog Azure表存储目标的详细信息,请参阅NLog.Extensions.AzureTableStorage。此外,您还可以参考NLog获得更多教程。
https://stackoverflow.com/questions/45054879
复制相似问题