3

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

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

4

2 回答 2

8

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

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

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

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

如果您准备好了,还有一个_STR变体可用于输出 an std::string(无需支付 C++ 字符串流的开销)。

于 2015-08-11T16:04:17.757 回答
0

Matteo Italia 的回答是正确的。log4cplus/clogger.h我只补充一点,如果您打算从 C 代码中使用 log4cplus ,您应该查看标题。但是,该标头不会使通常的日志记录宏可用。您必须准备自己的宏或直接使用这些函数。

于 2015-08-11T22:01:18.720 回答