并发log4j

Fra*_*fka 7 java concurrency logging multithreading log4j

我有自己的日志记录引擎,它将日志写入带有阻塞队列的单独线程.为了使用"标准软件",我正在考虑切换到log4j.

我不希望我的高度并发软件被日志命令放慢速度,这些日志命令将所有内容写入磁盘,就像调用命令一样.可以将log4j用作垃圾箱吗?

ska*_*man 7

Log4j是大多数JavaEE应用服务器上的日志记录实现,所以这是它的并发能力的一个很好的广告.

话虽如此,我在高负载条件下看到了Log4j 1.2死锁.一些调查突出显示了源代码中一些非常糟糕的同步.显然,这已在Log4j 1.3中得到修复,虽然这方面的开发已经放慢或完全停止了 - 我感觉很多来源都是无法实现的.

但是,如果您可以自由选择,那么您应该考虑使用Logback作为Log4j的精神继承者.这是一个彻底的重新设计,对你来说可能是一个更好的选择.