log4cplus是否提供了以C-Style / printf格式打印的API?
原因:我想在C代码中使用log4cplus(除了C ++之外)并且不想事先准备字符串。
答案 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
标题。但是,该标头不会使通常的日志记录宏可用。您必须准备自己的宏或直接使用这些功能。