我已经阅读了这个问题并且我知道它可能: Common.Logging for TraceSource
有人可以发一个例子。 如果它可以配置为在代码中使用TraceSource而不是使用.config文件,那么它也会有所帮助。
由于
答案 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设置了跟踪。