Microsoft Enterprise Library 5.0 Logging Application Block线程是否安全?

时间:2010-05-28 03:20:57

标签: logging thread-safety enterprise-library

我有一些代码将使用Enterprise Library 5.0中的日志应用程序块从不同的线程进行日志记录。 LAB线程安全吗?我可以从不同的线程中正常记录,还是需要同步日志记录代码,以便一次只能从一个线程使用?

2 个答案:

答案 0 :(得分:8)

Enterprise Library 5.0日志记录是线程安全的。

在记录之前,EL会检查IsThreadSafe的{​​{1}}属性。如果特定的TraceListener不是线程安全的,那么在调用侦听器的TraceListener方法之前它将执行Monitor.Enter(listener);

答案 1 :(得分:0)

据我所知,Enterprise Library 3.1 Logging不是线程安全的。 在LogWriter中没有锁定GetAvailableTraceListeners(IList traceListeners)调用 class,在Logger类中使用static。