NLog在Azure中不起作用

时间:2018-07-22 21:06:58

标签: c# azure asp.net-core nlog

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

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

<?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>

2 个答案:

答案 0 :(得分:0)

我注意到配置文件 NLog.config 在Azure中未得到更新(或正在被覆盖)。 将配置文件重命名为其他文件解决了我的问题。 但是,我认为这只是解决方法

Azure中的 NLog.config 似乎是一个例子,并且根本不包含任何目标。

答案 1 :(得分:0)

似乎存在一些转换问题,与Azure网站无关。

我建议采用以下方法更永久地修复它:

  1. 简便方法:为每个环境创建nlog.build.config并将“复制到输出目录”设置为“始终”。请不要在此配置中添加任何转换。在web.build.config中,您只需添加转换不同的nlog文件。
  2. 替代简便方法:您始终可以将代码从nlog.config复制到web.config中,并在web.build.config文件中提供转换。
  3. 硬道理:您可以使用慢猎豹之类的工具进行实际转化。 https://www.c-sharpcorner.com/article/transform-config-using-slow-cheetah/