我需要一些聪明的日志记录库,用于Linux上类似守护进程的C
(非C++
)程序。它需要是开源的。它应该支持记录到文件,也许是套接字等。
或者至少是一些好的提示或技巧或最佳实践。
答案 0 :(得分:5)
答案 1 :(得分:1)
以下是您可以做的事情。
我假设您的C应用程序作为deamon运行,因此您无法对日志消息进行frintf。 syslog()肯定是一个用于路由消息的选项。 syslog()是deamons编写消息的位置,管理员解析syslog文件的内容以获得有意义的结论。 syslog也有特定的日志记录格式。但是我希望你建议自己编写日志计划。它通常是企业软件中所需要的,而不是登录到syslog中。这样做
1。在您的主配置文件中定义一个日志记录宏
#define LOG_ERR log_err
有一个像这样的定义 log_err(int errno,char * logger,char * text) api应该将详细信息记录到日志文件中。
任何包含主配置文件的c文件都可以使用宏
LOG_ERR(错误号,“handle_submission()”,“提交作业失败”)
您还应该在记录器文件中包含时间戳。