Csharp/C#教程:如何使用app.config阻止TextWriterTraceListener附加?分享


如何使用app.config阻止TextWriterTraceListener附加?

我正在使用System.Diagnostics.TraceSource进行日志记录,我的一个侦听器是TextWriterTraceListener。 在跟踪引物中,它将其设置如下:

   

问题是这将始终附加到output.txt。 如何在配置文件中将其更改为覆盖?

以编程方式我想要的听众是:

 new TextWriterTraceListener(new StreamWriter("output.txt", false)); 

最简单的解决方案是制作自己的解决方案。

我建议您从TextWriterTraceListenerinheritance,并在构造函数中将基类Writer设置为您建议的内容: new StreamWriter("output.txt", false)

一些示例代码:

 public class MyTextWriterTraceListener : TextWriterTraceListener { public MyTextWriterTraceListener(string logFileName) : base(logFileName) { base.Writer = new StreamWriter(logFileName, false); } } 

这使您可以从配置文件中获取initializeData参数以指定文件的名称,或者如果在代码中创建,则指定一个参数。

我知道这不能直接回答你的问题,而是使用NLog代替。 它在记录选项方面比开箱即用的诊断function更多,而且非常易于使用。

更简单,只需告诉TestWriterTraceListener不附加文件:

 TextWriterTraceListener twtl = new TextWriterTraceListener(new StreamWriter(@"", false)); 

通过选择false ,每次初始化TextWriterTraceListener时都会覆盖日志文件。

上述就是C#学习教程:如何使用app.config阻止TextWriterTraceListener附加?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/997041.html

(0)
上一篇 2021年12月25日
下一篇 2021年12月25日

精彩推荐