3

アプリケーションに Log4cplus を追加します。私たちのアプリケーションは C++ で書かれており、マルチスレッドです。同じために Log4Cplus RollingFileAppender を使用したいと思います。

Log4Cplus が Java Log4j から派生したことは知っています。私は Java をよく知らなかったので、Log4j についてはわかりません。

私の質問は次のとおりです。

  1. Log4Cplus RollingFileAppender は非同期ですか? それでは、 AsyncAppender の使用は何ですか?
  2. RollingFileAppender スレッドセーフですか?
  3. RollingFileAppender でスレッド セーフのコードを処理する必要がありますか、それとも組み込みですか?

また、マルチスレッドのrollingfileappenderの例をいくつか指摘できますか?

4

1 に答える 1

2

RollingFileAppender はスレッド セーフであり、非同期ではありません。非同期性を得るには、AsyncAppender をラップする必要があります。単一のスレッドと比較して、複数のスレッドから RollingFileAppender を使用することに特別なことはありません。のすべてのアペンダーに対して同期が行われAppender::doAppend()ます。

于 2013-10-31T07:08:57.123 に答える