2017-04-26 109 views
1

我正在嘗試使用現有的監聽器註冊DocumentDB跟蹤。下面的代碼片段正確地將一條消息跟蹤到了我期望的偵聽器,但不是由DocumentDB C#客戶端生成的實際跟蹤。我錯過了什麼嗎?DocumentDB跟蹤監聽器

段從Global.asax中:

private static TraceSource DocDBSource; 
private static TraceListener ExistingListener = new .....; 

public void RegisterDocDBListener() { 
    DocDBSource = new TraceSource("DocDBTrace"); 
    DocDBSource.Switch.Level = SourceLevels.Information; 
    DocDBSource.Listeners.Add(ExistingListener); 
    DocDBSource.TraceInformation("DocDB tracing initialized"); 
} 
+0

我需要看看什麼樣的監聽器是新的....或者如果你有東西混合,如果你也在App.Config或Web.Config中做同樣的事情。這顯示ConsoleTraceListener例如system.diagnostics – MatthewMartin

+0

對不起,鏈接沒有粘貼 - https://msdn.microsoft.com/en-us/library/system.diagnostics.consoletracelistener(v=vs.110).aspx – MatthewMartin

+0

有你解決了這個問題,你需要進一步的支持嗎? –

回答

0

根據你的描述,我已經檢查從DocumentDB客戶端庫DefaultTrace爲.NET如下:

enter image description here

對於客戶端使用.NET DocumentDB客戶端庫進行日誌記錄,您可以按如下所示配置system.diagnostics配置,以按如下方式收集並保存documentdb日誌消息到文本文件:

<system.diagnostics> 
    <sources> 
    <source name="DocDBTrace"> 
     <listeners> 
     <!--ConsoleTraceListener--> 
     <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener"/> 
     <!--TextWriterTraceListener--> 
     <add name="myListener" 
     type="System.Diagnostics.TextWriterTraceListener" 
     initializeData="TextWriterOutput.log" /> 
     </listeners> 
    </source> 
    </sources> 
    <switches> 
    <add name="ClientSwitch" value="Warning"/> 
    </switches> 
</system.diagnostics> 

注:默認日誌級別的信息,你可以在ClientSwitch改變你的預期日誌級別(關,錯誤信息,詳細)。

結果

  • 控制檯應用程序

enter image description here

  • Web應用程序

enter image description here