Linux应用程序中记录器的建议

时间:2009-02-16 11:04:06

标签: c++ linux logging

我正在构建一个C ++ Linux应用程序,我需要记录它的活动。创建日志的现有Linux工具有哪些?你会推荐什么?

4 个答案:

答案 0 :(得分:10)

历史性的是syslog(3)。来自C:

#include <syslog.h>
openlog("myprogram", LOG_PID, LOG_LOCAL0);
syslog(LOG_INFO, "data %d %s", 3, "example");

来自Perl:

use Sys::Syslog;
openlog "myprogram", "pid", "local0";
syslog 'info', 'data %d %s', 3, 'example';

来自shell:

logger -p local0.info -t myprogram -- data 3 example

syslogd守护程序可以配置为将日志文件放在不同的位置(文件,tty,其他计算机),具体取决于工具(此处为LOG_LOCAL0)和优先级(此处为LOG_INFO

答案 1 :(得分:3)

log4cxx怎么样?

答案 2 :(得分:1)

除了Alex所说的,为什么还需要一个特定于Linux的记录器?

答案 3 :(得分:0)

我建议您尝试使用c-log,这是一种快速,稳定且线程安全的日志库(logger),用于C / C ++语言https://github.com/0xmalloc/c-log