DocumentDB跟踪侦听器

时间:2017-04-26 18:48:31

标签: azure-cosmosdb tracelistener

我尝试使用现有的侦听器注册DocumentDB跟踪。下面的代码片段正确地将单个消息跟踪到我预期的侦听器,但不跟踪DocumentDB C#客户端生成的实际跟踪。我错过了什么吗?

来自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");
}

1 个答案:

答案 0 :(得分:1)

根据您的描述,我已经从.NET的DocumentDB客户端库中检查了DefaultTrace,如下所示:

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

  • 网络应用程序

enter image description here