[英]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網站無關。
我建議采用以下方法更永久地修復它:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.