English 中文(简体)
并发log4j
原标题:concurrent log4j

我有自己的日志引擎,它在一个带有阻塞队列的单独线程上写入日志。为了使用“标准软件”,我正在考虑切换到log4j。

我不希望我的高并发性软件被日志命令拖慢,这些命令会按照命令的调用将所有内容写入磁盘。log4j可以用作垃圾箱吗?

最佳回答

Log4j是大多数JavaEE应用服务器上的日志实现,因此它的并发能力是一个很好的广告。

话虽如此,我已经看到Log4j 1.2在高负载条件下出现死锁。一点调查突出了源代码中一些糟糕得可怕的同步。显然,这在Log4j 1.3中得到了修复,尽管这方面的开发已经放缓或完全停止——我觉得大部分源代码都无法解决。

但是,如果您可以自由选择,那么您应该考虑Logback,它是Log4j的精神继承者。这是一个全新的设计,可能对你来说是一个更好的选择。

问题回答

查看log4j s异步追加器,它缓冲日志消息,并使用单独的线程将它们传递给追加器。可能是您认为log4j异步追加器不合适(这里有一些抱怨),您可以随时制作自己的appender。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签