跟踪侦听器,如何根据事件类型c#输出到不同的文件

时间:2018-10-02 13:09:59

标签: c# tracelistener

我想创建两个侦听器,一个用于数据,另一个用于错误。每个输出到不同的文件。我想确定哪个监听器在我的程序中监听

所以我想要什么:

  <system.diagnostics>
  <trace autoflush="true" indentsize="4">
    <listeners>
      <clear/>
      <add name="AppListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Output/logs.log"/>
      <add name="ErrorListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="errors.log"/>
    </listeners>
  </trace>

然后我要在程序中这样调用:

Trace.Writeline(“ AppListener”,“信息:这是信息”);

这可能还是类似的东西?

1 个答案:

答案 0 :(得分:0)

不是。 <listeners>列表中的所有条目均被调用,您无法从跟踪端对其进行控制。您可以自己在代码中 自己创建System.Diagnostics.TextWriterTraceListener的实例,然后直接使用它。根据您要精确实现的目标,您可能会发现apply specific filters对于<listeners>集合中的侦听器很有用,这将使他们能够对不同的跟踪进行操作。