NLog 在 Azure 中不起作用

NLog doesn't work in Azure

我正在尝试将 NLog 与 Azure Web 应用程序一起使用。一切都在我的本地 PC 上运行,但是当我部署到 Azure 时它根本不起作用。 我尝试过不同的目标,例如文件和 Azure table 存储。两者在我的 PC 上都能完美运行,但在 Azure 中却不行。 我正在使用 asp.net 核心。

这是我的 table 存储的 NLog 配置。
注意:当我从本地 PC 执行程序时,此配置有效。我可以在 Azure table 存储中看到条目。

<?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"
      autoReload="true"
  >

  <extensions>
    <add assembly="NLog.Extensions.AzureTableStorage"/>
  </extensions>
  <targets>

    <target xsi:type="AzureTableStorage" name="allfile" 
            PartitionKey="nlog-all-${date}.${logger}"
            RowKey="${ticks}.${guid}"
            ConnectionString="**REMOVED**"
            tableName="**REMOVED**"
                 layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />

    <target xsi:type="AzureTableStorage" name="ownFile"
            PartitionKey="nlog-own-${date}.${logger}"
            RowKey="${ticks}.${guid}"
            ConnectionString="**REMOVED**"
            tableName="**REMOVED**"
              layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
    <target xsi:type="Null" name="blackhole" />
  </targets>

  <rules>

    <!--All logs, including from Microsoft-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />

    <!--Skip Microsoft logs and so log only own logs-->
    <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
    <logger name="*" minlevel="Trace" writeTo="ownFile" />
  </rules>
</nlog>

我注意到 Azure 中的配置文件 NLog.config 没有更新(或被覆盖)。 将配置文件重命名为不同的名称解决了我的问题。 但是,我认为这只是一个 解决方法

Azure中的NLog.config好像就是这个例子,根本没有目标。