-1

我使用 system.Diagnostics 创建了一个用于事件记录实用程序的库,如下所示:

public class Logger
{
    static TraceSource ts = new TraceSource("TestApp");
    public void Log(string message)
    {
        ts.TraceEvent(TraceEventType.Verbose, 0, message);
    }
}

我想在我的应用程序和同一应用程序的其他组件 (dll) 中使用此日志功能。我尝试在我的应用程序的 app.config 中声明侦听器,但它不起作用:(。我的 app.config 如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <trace autoflush="true"/>
    <sources>
      <source name="TestApp"
              switchName="mySwitch"
              switchType="System.Diagnostics.SourceSwitch" >
        <listeners>
          <clear/>
          <add name="EventLogListener"
            type="System.Diagnostics.EventLogTraceListener"
            initializeData="Title for events" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="mySwitch" value="Verbose" />
    </switches>
  </system.diagnostics>
</configuration>

如果我使用给定的清单文件在应用程序本身(可执行文件)中移动类 Logger,我可以在 eventviewer 中看到应用程序中的日志。但我不想以这种方式使用它。

有人可以帮我找出这里的根本问题吗?

4

1 回答 1

2

我意识到csproj中的类库没有启用“跟踪”。启用后,我至少在 textwriterListener/ 中看到了这些事件

于 2014-03-04T04:47:44.577 回答