使用log4cplus时可以使用printf格式吗?

时间:2015-08-11 13:26:38

标签: c printf log4cplus

log4cplus是否提供了以C-Style / printf格式打印的API?

原因:我想在C代码中使用log4cplus(除了C ++之外)并且不想事先准备字符串。

2 个答案:

答案 0 :(得分:8)

所有日志记录宏都有FMT变体,可以满足您的期望:

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

与使用C ++流的“默认”变体进行比较/对比:

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

还有一个_STR变体,如果你已经准备就可以用来输出std::string(不需要支付C ++字符串流的开销)。

答案 1 :(得分:0)

Matteo Italia's answer是正确的。我只是补充一点,如果你想从C代码中使用log4cplus,你应该看一下log4cplus/clogger.h标题。但是,该标头不会使通常的日志记录宏可用。您必须准备自己的宏或直接使用这些功能。