使用带有Common.Logging的TraceSource的示例

时间:2013-10-31 16:33:03

标签: common.logging tracesource

我已经阅读了这个问题并且我知道它可能: Common.Logging for TraceSource

有人可以发一个例子。 如果它可以配置为在代码中使用TraceSource而不是使用.config文件,那么它也会有所帮助。

由于

1 个答案:

答案 0 :(得分:2)

如果您的目标是将Common.Logging转发消息发送到TraceSource,那么您的记录器名称和traceource名称必须匹配。

<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
        <arg key="level" value="ALL" />
        <arg key="showLogName" value="true" />
        <arg key="showDataTime" value="true" />
        <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
        <arg key="useTraceSource" value="true" />
      </factoryAdapter>
    </logging>
  </common>
  <system.diagnostics>
    <sources>
      <source name="SomeSourceName" switchName="YourSwitch">
        <listeners>
          <add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="Application"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="YourSwitch" value="Information"/>
    </switches>
  </system.diagnostics>
</configuration>

从您编写的代码中:

var logger = Common.Logging.LogManager.GetLogger("SomeSourceName");

希望这有帮助,即使帖子是2个月,并且通过.config设置了跟踪。