【发布时间】:2010-12-16 06:15:20
【问题描述】:
我有多个同时运行的进程要记录到同一个文件。
我们一直在使用 Enterprise Library 4.1 日志记录应用程序块(带有RollingFlatFileTraceListener),它工作正常,除了它在两个进程尝试写入日志文件时在日志文件名前面添加一个 GUID同时(我相信System.Diagnostics.TextWriterTraceListener 的怪癖)。
我尝试了各种方法,包括在写入日志文件后调用Logger.Writer.Dispose(),但每次写入日志条目时都进行阻塞调用并不理想。
EntLib 论坛建议将 MSMQ 与 Distributor Service 一起使用,但这不是一个选项,因为我的公司不允许使用 MSMQ。
有没有其他方法可以快速轻松地从多个线程/进程记录到同一个文件?
【问题讨论】:
-
您有其他解决方案吗?也许使用 MSMQ ?
-
@Kiquenet 已经很久了,我不太记得了。如果我真的很努力,我隐约记得我们最终为不同的进程使用了不同的日志文件来解决这个问题。这并不理想,但我们想让事情变得简单。
标签: c# multithreading logging enterprise-library