4

在 log4net 中,可以选择app.config从 .xml 文件或任意 xml 文件加载配置。

是否可以System.Diagnostics.TraceSource从任意 xml 文件加载配置?

4

1 回答 1

4

System.Diagnostics 类仅查看应用程序配置文件。例如SourceSwitch的备注部分说:

要配置 SourceSwitch,请编辑与您的应用程序名称对应的配置文件。

如果您查看代码,您会发现这些类在内部使用静态DiagnosticConfiguration类,它只是system.diagonostics从当前 app.config 获取配置部分

但是您可以将system.diagonostics配置部分移动到单独的 xml 文件中。只需指定将定义部分的文件名:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics configSource="diagnostics.xml"/>
</configuration>

诊断.xml

<system.diagnostics>
  <sources>
    <source name="foo" switchName="bar"
            switchType="System.Diagnostics.SourceSwitch">
      <listeners>
        <add name="console"/>
      </listeners>
    </source>
  </sources>
  <switches>
    <add name="bar" value="Warning"/>
  </switches>
  <sharedListeners>
    <add name="console" 
         type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/>
  </sharedListeners>
  <trace autoflush="true" indentsize="4">
    <listeners>
      <add name="console"/>
    </listeners>
  </trace>
</system.diagnostics>
于 2014-02-14T14:29:19.483 回答