Mat*_*lay 5 c# logging app-config tracesource
我正在使用System.Diagnostics.TraceSource进行日志记录,我的一个侦听器是TextWriterTraceListener.在跟踪引物中,它将其设置如下:
<listeners>
<add initializeData="output.txt"
type="System.Diagnostics.TextWriterTraceListener"
name="myLocalListener" />
</listeners>
Run Code Online (Sandbox Code Playgroud)
问题是这将始终附加到output.txt.如何在配置文件中将其更改为覆盖?
以编程方式我想要的听众是:
new TextWriterTraceListener(new StreamWriter("output.txt", false));
Run Code Online (Sandbox Code Playgroud)
最简单的解决方案是自己制作。
我建议您继承TextWriterTraceListener并在构造函数中将基数设置Writer为您建议的内容:new StreamWriter("output.txt", false)。
一些示例代码:
public class MyTextWriterTraceListener : TextWriterTraceListener
{
public MyTextWriterTraceListener(string logFileName)
: base(logFileName)
{
base.Writer = new StreamWriter(logFileName, false);
}
}
Run Code Online (Sandbox Code Playgroud)
这使您可以initializeData从配置文件中获取参数来指定文件的名称,或者如果在代码中创建,则指定文件的名称。
| 归档时间: |
|
| 查看次数: |
2699 次 |
| 最近记录: |