3

log4cplus は C スタイル / printf 形式で印刷するための API を提供しますか?

理由: (C++ に加えて) C コードで log4cplus を使用したいのですが、事前に文字列を準備したくありません。

4

2 に答える 2

8

すべてのロギング マクロには、FMT期待どおりの動作をするバリアントがあります。

LOG4CPLUS_WARN_FMT(logger, "Hello %s %d", "World", 1);

C++ ストリームを使用する「デフォルト」バリアントと比較/対比します。

LOG4CPLUS_WARN(logger, "Hello " << "World " << 1);

準備ができていれば (C++ 文字列ストリームのオーバーヘッドを支払うことなく) を_STR出力するために使用できるバリアントもあります。std::string

于 2015-08-11T16:04:17.757 に答える
0

Matteo Italiaの答えは正しいです。log4cplus/clogger.hCコードからlog4cplusを使用する場合は、ヘッダーを確認する必要があることだけを追加します。ただし、そのヘッダーでは、通常のロギング マクロを使用できません。独自のマクロを準備するか、関数を直接使用する必要があります。

于 2015-08-11T22:01:18.720 に答える