在使用log4cplus时,我可以使用printf格式吗?

3

log4cplus是否提供C风格/printf格式的打印API?

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

2个回答

8

所有的日志宏都有一个 FMT 变种,它能实现你期望的功能:

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

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

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

还有一个_STR变量,如果您已准备好输出一个std::string(而不需要为C++字符串流付出开销),则可以使用它。


这些宏在哪里被包含?我找不到关于它们的文档。 - Pedro Affonso

0

Matteo Italia的回答是正确的。我只想补充一点,如果你打算从C代码中使用log4cplus,你应该查看log4cplus/clogger.h头文件。然而,那个头文件并没有提供通常的日志记录宏。你需要准备自己的宏或直接使用函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接