我有几个进程同时运行,我想登录到同一个文件。使用企业库从多个进程记录到同一文件4.1
我们一直在使用企业库4.1日志记录应用程序块(使用RollingFlatFileTraceListener
),并且它工作正常,除了当两个进程尝试写入日志文件时,它将GUID预先记录到日志文件名同一时间(我相信System.Diagnostics.TextWriterTraceListener
怪癖)。
我已经尝试了各种各样的东西,包括在写入日志文件后调用Logger.Writer.Dispose()
,但是每次写入日志条目时都会发生阻塞调用,这并不理想。
EntLib论坛建议在分销商服务中使用MSMQ,但这不是一个选项,因为MSMQ在我的公司不允许。
有没有另一种方法可以快速轻松地从多个线程/进程登录到同一个文件?
你有没有得到替代解决方案?也许使用*** MSMQ ***? – Kiquenet 2016-03-08 14:06:22
@Kiquenet已经这么久了,我不记得了。如果我真的努力尝试,我依稀记得我们最终使用不同的日志文件来处理这个问题。这并不理想,但我们希望保持简单。 – Riko 2016-03-22 17:43:30
如果我现在必须选择一个日志记录框架,我可能会添加,但我会尽可能远离Enterprise Library。这太复杂了,无论是使用还是配置,都不容易扩展。我可能会使用[log4net](https://logging.apache.org/log4net/)或[NLog](http://nlog-project.org/)。 – Riko 2016-03-22 17:50:52