2017-02-24 222 views
1

我試圖獲得nlog與Azure webapp日誌流協同工作。使用NLog記錄Azure日誌流

如果我不使用nlog,並且只使用System.Diagnostics.Trace.WriteLine,則會出現日誌。

但是,如果我用我的nlog.config的Trace類型,它不顯示跟蹤日誌...

<?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"> 
    <targets> 
     <target xsi:type="Trace" name="trace" layout="${message}" /> 
    </targets> 

    <rules> 
     <logger name="*" minlevel="Trace" writeTo="trace" /> 
    </rules> 
</nlog> 

我看不到任何東西,我是從做不同接受的答案在這裏...

How to integrate NLog to write log to Azure Streaming log

注意,我砍下nlog.config文件只顯示蹤跡 - 但我通常也有一個File目標類型 - 我已經沒有這個企圖。

我登錄到已部署的Azure網站,並且nlog配置文件已成功上傳。我正在部署使用Github部署。

我已將Azure中的日誌記錄設置爲僅使用文件系統日誌記錄,並將其設置爲verbose

任何想法?

回答

3

事實證明,在Visual Studio中啓用應用洞察(我添加到項目中最近的事情),它已插入的n日誌配置部分成我的web.config。這意味着我的nlog.config文件根本沒有被使用。我已經通過從我的web.config中刪除nlog config部分來修復它,並將Application Insights目標複製到我的nlog.config文件中。 「跟蹤」目標類型現在按預期工作並顯示在Azure流式日誌中。

1

NLog-Trace-Target僅對調試級別日誌事件執行Trace.WriteLine。

也許嘗試這裏顯示的自定義MyTraceTarget:

https://github.com/NLog/NLog/issues/1968

+0

感謝您的支持。您關於自定義目標的建議使我走上了正確的道路,因爲自定義目標也無法正常工作,所以我最終在調試器中查看了LogManger.Configuration,並向我展示了實際問題。 Upvoted :) – Dan