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

Dav*_*idS 3 c printf log4cplus

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

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

Mat*_*lia 8

所有日志记录宏都有一个FMT符合您期望的变体:

LOG4CPLUS_WARN_FMT(logger, "Hello %s %d", "World", 1);
Run Code Online (Sandbox Code Playgroud)

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

LOG4CPLUS_WARN(logger, "Hello " << "World " << 1);
Run Code Online (Sandbox Code Playgroud)

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