log4net的线程安全

似乎有一些关于log4net是否是线程安全的讨论,一致认为框架是线程安全的,但是appender不是并且需要正确使用以实现线程安全。 有人可以对此发表一些看法并举例说明RollingFileAppender以线程安全的方式使用吗? 它是否需要被推入上下文? 以某种方式锁定,或者什么?

根据此链接 ,RollingFileAppender是线程安全的(就日志记录而言)。 这是来自log4net的一个开发人员。 他特别说你的代码中不需要这样的锁定:

lock(logger) { logger.Info("Hello!"); } 

直接来自log4net FAQ :

log4net线程安全吗?

是的,log4net是线程安全的。

所以,不需要手动锁定。