log4cplus 是否提供了以 C-Style / printf 格式打印的 API?
原因:我想在C代码中使用log4cplus(除了C++),不想事先准备好字符串。
所有日志记录宏都有一个FMT
变体,可以满足您的期望:
LOG4CPLUS_WARN_FMT(logger, "Hello %s %d", "World", 1);
与使用 C++ 流的“默认”变体进行比较/对比:
LOG4CPLUS_WARN(logger, "Hello " << "World " << 1);
如果您准备好了,还有一个_STR
变体可用于输出 an std::string
(无需支付 C++ 字符串流的开销)。
Matteo Italia 的回答是正确的。log4cplus/clogger.h
我只补充一点,如果您打算从 C 代码中使用 log4cplus ,您应该查看标题。但是,该标头不会使通常的日志记录宏可用。您必须准备自己的宏或直接使用这些函数。