log4cplus是否提供C风格/printf格式的打印API?
原因:我想在C代码中使用log4cplus(除了C++),不想事先准备字符串。
所有的日志宏都有一个 FMT
变种,它能实现你期望的功能:
LOG4CPLUS_WARN_FMT(logger, "Hello %s %d", "World", 1);
与使用C ++流的“默认”变体进行比较/对比:
LOG4CPLUS_WARN(logger, "Hello " << "World " << 1);
还有一个_STR
变量,如果您已准备好输出一个std::string
(而不需要为C++字符串流付出开销),则可以使用它。
Matteo Italia的回答是正确的。我只想补充一点,如果你打算从C代码中使用log4cplus,你应该查看log4cplus/clogger.h
头文件。然而,那个头文件并没有提供通常的日志记录宏。你需要准备自己的宏或直接使用函数。