簡體   English   中英

NLog在Azure中不起作用

[英]NLog doesn't work in Azure

我正在嘗試將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>

我注意到配置文件NLog.config在Azure中未得到更新(或正在被覆蓋)。 將配置文件重命名為其他文件解決了我的問題。 但是,我認為這只是一種解決方法

Azure中的NLog.config似乎是一個示例,它根本不包含任何目標。

似乎有一些轉換問題,與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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM