.Net Trace Listener日志记录级别

时间:2015-03-24 23:49:12

标签: c# asp.net web-config

在.Net 4.0网络服务中,我使用trace autoflush写入日志文件。

在web.config中添加以下内容:

<trace autoflush="true" >
  <listeners>
    <add name="TextWriter"
         type="System.Diagnostics.TextWriterTraceListener" 
         initializeData="trace.log" >
    </add>
  </listeners>
</trace>

我试图找到一种方法只记录Trace.TraceError(&#34;错误信息&#34;)并排除Trace.TraceInformation(&#34;一些详细的调试内容&#34;)而不改变我的代码而只是更改web.config?

我在MSDN上找到的信息显示了如何通过添加调用Trace.Flush()的代码以及添加源,开关和sharedlisteners来完成此操作,但是我想继续使用自动刷新而不是更改代码。

非常感谢提前:)

2 个答案:

答案 0 :(得分:1)

这似乎是不可能的。跟踪自动刷新没有能力在web.config中设置它的级别。

答案 1 :(得分:0)

为此,也许您可​​以使用“ switchValue

<system.diagnostics>
    <trace autoflush="true">
    </trace>
    <sources>
        <source name="SCInterface" switchType="System.Diagnostics.SourceSwitch" **switchValue**="All">
            <listeners>
                <remove name="default"/>
                <add name="HSInterface"
                type="XYZ.Diagnostics.CyclicTextTraceListener, XYZ.Base3x"
                initializeData="D:\Trace\HSR.HSInterface.Trace.log, Size, 10, 5"
                traceOutputOptions="DateTime,ThreadId,Callstack" />
            </listeners>
        </source>
    </sources>
</system.diagnostics>

对于开关值,您可以输入警告或错误...