小编典典

Linux中的守护程序日志记录

linux

因此,我有一个在Linux系统上运行的守护程序,我想要记录其活动:日志。问题是,完成此任务的“最佳”方法是什么?

我的第一个想法是简单地打开一个文件并将其写入。

FILE* log = fopen("logfile.log", "w");
/* daemon works...needs to write to log */
fprintf(log, "foo%s\n", (char*)bar);
/* ...all done, close the file */
fclose(log);

用这种方式记录日志有天生的错误吗?有没有更好的方法,例如Linux内置的某些框架?


阅读 305

收藏
2020-06-07

共1个答案

小编典典

Unix长期以来一直使用一种称为syslog的特殊日志记录框架。输入您的外壳

man 3 syslog

您将获得C接口的帮助。

一些
例子

#include <stdio.h>
#include <unistd.h>
#include <syslog.h>

int main(void) {

 openlog("slog", LOG_PID|LOG_CONS, LOG_USER);
 syslog(LOG_INFO, "A different kind of Hello world ... ");
 closelog();

 return 0;
}
2020-06-07