我要为我们的应用程序添加 Log4cplus。我们的应用程序是用 C++ 编写的,并且是多线程的。我想为此使用 Log4Cplus RollingFileAppender。
我知道 Log4Cplus 源自 Java Log4j。因为我不太了解Java,所以我对Log4j一无所知。
我的问题如下,
- Log4Cplus RollingFileAppender 是否异步?那么 AsyncAppender 有什么用呢?
- RollingFileAppender 线程安全吗?
- 我需要使用 RollingFileAppender 处理线程安全代码还是内置的?
还有人可以给我一些多线程 rollingfileappender 的例子吗?
最佳答案
RollingFileAppender 是线程安全的,它不是异步的。要获得异步性,您必须将 AsyncAppender 包裹在它周围。与单线程相比,从多线程使用 RollingFileAppender 没有什么特别之处。在 Appender::doAppend()
中对所有 appender 进行同步。
关于c++ - Log4cplus RollingFileAppender 是否异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19699956/