-1
的其他组件我已经创建了一个使用System.Diagnostics程序类似下面的事件记录实用程序库:从类库使用TraceSource,并用它在相同的可执行
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>
如果我移动在应用程序本身(可执行文件),带班记录仪给定的清单文件,我可以看到日志在事件查看器channed应用程序。但我不希望使用这种方式。
有人可以帮我找出这里的根本问题?
表面上应用程序设置文件看起来不错。尝试一个不同的侦听器,说一个文件侦听器,并查看它是否与事件日志无关(可能会遇到权限问题,如果您正在登录到现有事件类别或新的事件类别时遇到问题)。我完全不理解你的最后一段。它在某些事情(不明确)之后有效(使事件查看器中的日志可见或引导),但是您不希望它以这种方式工作?你想以什么方式工作? – MatthewMartin
我在最后一段中的意思是,如果我没有将记录器作为单独库的一部分,并将其所有代码放入单一控制台应用程序中,它就可以正常工作。我可以看到日志在事件通道中发布。 – user3375881