【问题标题】:Example of using a TraceSource with Common.Logging将 TraceSource 与 Common.Logging 一起使用的示例
【发布时间】:2013-10-31 16:33:03
【问题描述】:

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

有人可以发布一个例子吗? 如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也会很有帮助。

谢谢

【问题讨论】:

    标签: common.logging tracesource


    【解决方案1】:

    如果您的目标是让 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 设置的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 2011-08-27
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2016-02-09
    相关资源
    最近更新 更多