.net - TextWriterTraceListener 和带有 GUID 的跟踪文件名

标签 .net guid trace-listener

我在应用程序中使用 TextWriterTraceListener (System.Diagnostics) 来跟踪异常等多项内容,...

应用程序在终端服务器上运行,如果有许多用户同时使用它,则监听器开始创建许多文件名中带有随机 GUID 的跟踪文件。

是否有可能或解决方法来避免这种行为?

最佳答案

我刚刚查看了 TextWriterTraceListener 的文档页面下方 1/3 处有一条注释

If an attempt is made to write to a file that is in use or unavailable, the file name is automatically prefixed by a GUID

所以,这似乎是设计使然。如果该文件确实不可用,那么当前的实现对此无能为力。您可以尝试编写 TextWriterTraceListener 的自定义实现,该实现重写相关的 Write/WriteLine 方法,以便将输出发送到每个用户的文件,并使用更适合您需要的名称。

如果您想要终端服务器上所有用户的所有日志记录都转到单个文件,那么您几乎肯定需要运行某种“拥有”该文件的“第三方”进程,并且同步对其进行写入,例如随后由您的自定义 TextWriterTraceListener 调用的 Windows 服务

关于.net - TextWriterTraceListener 和带有 GUID 的跟踪文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2341110/

相关文章:

c# - 远程服务器声明表不存在

c# - 在文本框上应用查询

delphi - 如何获取我的磁盘分区的 GUID?

.net - 为什么 .NET GUID 中有破折号?

delphi - 如何从TGUID获取接口(interface)类型信息?

azure - 如何动态/以编程方式设置 Enterprise Library 数据库跟踪监听器连接字符串

c# - TextWriterTraceListener : can I reset/clear the output log via app. 配置?

.net - 在 Sql server 2005 中过滤 unicode 列 - 多数据匹配

c# - 可靠、持久堆栈的技术

azure - 应用程序洞察 TraceListener : Setting Severity level