2013-10-31 100 views
3

我将为我们的应用程序添加Log4cplus。我们的应用程序是用C++编写的,它是多线程的。我想使用Log4Cplus RollingFileAppender。是Log4cplus RollingFileAppender异步与否

我知道Log4Cplus是从Java Log4j派生的。由于我不太了解Java,因此我不知道Log4j。

我的问题如下,

  1. 是Log4Cplus RollingFileAppender进行同步或不?。那AsyncAppender有什么用?
  2. RollingFileAppender线程安全吗?
  3. 我是否需要使用RollingFileAppender处理线程安全代码,还是内置?

也可以指出我的一些例子多线程rollingfileappender的一些例子吗?

回答

2

RollingFileAppender是线程安全的,它不是异步的。为了获得异步性,您必须围绕它包装AsyncAppender。与单线程相比,使用多线程中的RollingFileAppender没有什么特别之处。在Appender::doAppend()中为所有appender完成同步。