C# 设置自动刷新.Net跟踪侦听器的日志记录级别
在.NET4.0Web服务中,我使用跟踪自动刷新写入日志文件 通过在web.config中添加以下内容:C# 设置自动刷新.Net跟踪侦听器的日志记录级别,c#,asp.net,web-config,C#,Asp.net,Web Config,在.NET4.0Web服务中,我使用跟踪自动刷新写入日志文件 通过在web.config中添加以下内容: <trace autoflush="true" > <listeners> <add name="TextWriter" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log" > </add&g
<trace autoflush="true" >
<listeners>
<add name="TextWriter"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace.log" >
</add>
</listeners>
</trace>
我试图找到一种只记录Trace.TraceError(“错误信息”)并排除Trace.TraceInformation(“一些详细的调试内容”)的方法,而不改变我的代码,只改变web.config
我在MSDN上找到的信息显示了如何通过添加调用Trace.Flush()的代码以及添加源、开关和sharedlisteners来实现这一点,但是我希望继续使用自动刷新,而不是更改代码
非常感谢:)旧答案:
这似乎是不可能的。跟踪自动刷新没有
在web.config中设置其级别的容量
更新:
侦听器可能会应用以下筛选器
<configuration>
<system.diagnostics>
<trace autoflush="true" >
<listeners>
<add name="TextWriter"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace4.log" >
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Warning" />
</add>
</listeners>
</trace>
</system.diagnostics>
请注意,initializeData是一个字符串,可以采用警告或错误值。这会相应地过滤跟踪输出
非常感谢Josip跟进这个问题。也许您可以使用“”这样做:
<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>
对于开关值,您将显示警告或错误…这对我来说是个新闻,非常有趣。你试过了吗?我会尝试一下,并相应地更新我的答案,如果我能让它为我工作。Cheers我现在已经尝试过了,如果没有代码更改,源代码的使用似乎不起作用,但是我发现过滤器可以应用于侦听器。我的答案已相应更新。谢谢:)