我正在编写一个自定义跟踪监听器,以将跟踪消息写入添加轮换的文件(例如每天更改文件名)。
在 Flush
方法的重写中,我在底层 StreamWriter
上调用 Flush
,但如果我设置 autoflush='false'
在应用程序配置中,当应用程序终止时,Flush
不会被调用。
应用程序退出时完成自定义跟踪监听器的正确方法是什么?
编辑:我重写了 Dispose(bool diswriting)
方法,因为基本 TraceListener
类已经实现了一次性模式,但是,据我所知,方法未被调用。如果我实现显式析构函数,则会调用析构函数,但此时我不应该假设流引用仍然有效,对吗?
最佳答案
如果您的软件在终止时未调用 Trace.Close,则您无法确保完成任何刷新。 请参阅this article了解更多详情。
关于c# - 使用自动刷新完成自定义 TraceListener ='false'(C#、.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/876768/