我使用system.Diagnostics为事件记录实用程序创建了一个库,如下所示:
public class Logger
{
static TraceSource ts = new TraceSource("TestApp");
public void Log(string message)
{
ts.TraceEvent(TraceEventType.Verbose, 0, message);
}
}
我想在我的应用程序和同一应用程序的其他组件(dll)中使用此Log功能。我尝试在我的应用程序的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,我可以在事件查看器中看到应用程序中的日志。但我不想这样使用它。
有人可以帮助我找出这里的潜在问题吗?
答案 0 :(得分:2)
我意识到csproj中的类库没有启用“Trace”。启用后,我至少在textwriterListener /
中看到了这些事件