【发布时间】:2013-10-31 16:33:03
【问题描述】:
我已经阅读了这个问题并且我知道它是可能的: Common.Logging for TraceSource
有人可以发布一个例子吗? 如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也会很有帮助。
谢谢
【问题讨论】:
标签: common.logging tracesource
我已经阅读了这个问题并且我知道它是可能的: Common.Logging for TraceSource
有人可以发布一个例子吗? 如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也会很有帮助。
谢谢
【问题讨论】:
标签: common.logging tracesource
如果您的目标是让 Common.Logging 将消息转发到 TraceSource,那么您的记录器名称和跟踪源名称必须匹配。
<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 设置的。
【讨论】: