企业库日志记录 - 多个线程记录到多个日志文件

时间:2012-02-04 12:27:45

标签: c# logging log4net enterprise-library

我有一个动态生成多个线程的程序。我想介绍日志记录,以便每个线程都可以登录到自己的日志文件。

使用Enterprise Library 4.1,每个线程(在运行时动态创建)是否可以记录到与该线程关联的唯一日志文件?

例如

线程1 - > mylog1.log 线程2 - > mylog2.log ... 线程N - > mylogN.log

我已经阅读了以下线索,但这些线程已经解决了,但未能提供可行的解决方案。

Write to multiple files Enterprise Library Logger

Entreprise Library Rolling flat file is not rolling

Implementing Log file using Enterprise Library in asp.net

Microsoft Logging application block and multi-threading

我应该看另一个能够做到这一点的框架吗? log4net的?

由于

1 个答案:

答案 0 :(得分:2)

您所描述的方法并不适合使用Enterprise Library的基于配置的方法,其中每个Trace Listener映射到一个文件并在设计时设置。

但是,您应该能够使用程序化方法实现您想要的效果。对于每个线程,您可以以编程方式创建LogWriter,然后将此LogWriter用于该线程的所有日志记录。

有关程序化日志记录的一些较旧文章仍应适用于版本4.例如:Programatic Configuraton - Enterprise Library (v2.0) Logging Block。请注意,版本5中有更改(例如,LogWriter现在是抽象的)可能会破坏旧版本的实现。