c# - 使用自动刷新完成自定义 TraceListener ='false'(C#、.net)

标签 c# .net configuration trace

我正在编写一个自定义跟踪监听器,以将跟踪消息写入添加轮换的文件(例如每天更改文件名)。
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/

相关文章:

c# - 在服务器和本地机器之间维护文件的最后修改日期

c# - 资源更改时静态绑定(bind)不会更新

c# - 访问 vsix 项目中当前打开的解决方案

c# - 是否有可以帮助我捕获视频的 c# 网络摄像头/视频 WPF 组件?

c# - Swagger.net 是否可以与高于 4.0 的 .Net 框架配合使用

ios - 在 iOS 中 - 生产和暂存服务器包含在单个构建中

c++ - Eclipse Mars - 为 C++ 项目设置默认设置(默认设置为 C++11)

c# - "ref return"是语言特性还是CLR的特性

.net - SignalR(带有自托管的Nancy)显示404进行协商?clientProtocol = 1.3

spring - 如何在 SpringBootTest 中的 @DataJpaTest 中导入配置类?