我读过这个问题,我知道它可能: Common.Logging for TraceSource
有人可以发布一个例子。如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也可能会有所帮助。
谢谢
我读过这个问题,我知道它可能: Common.Logging for TraceSource
有人可以发布一个例子。如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也可能会有所帮助。
谢谢
如果您的目标是让 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 个月的历史并且 tracesouce 是通过 .config 设置的。