【发布时间】:2012-01-06 15:45:00
【问题描述】:
我需要一些聪明的日志库,用于 Linux 上类似守护进程的 C(不是 C++)程序。它需要是开源的。它应该支持记录到文件,也许是套接字等。
或者至少是一些好的提示、技巧或最佳实践。
【问题讨论】:
-
Logging in Linux的可能重复
-
并注意stackoverflow.com/q/158749/2509关于网络性的问题。
我需要一些聪明的日志库,用于 Linux 上类似守护进程的 C(不是 C++)程序。它需要是开源的。它应该支持记录到文件,也许是套接字等。
或者至少是一些好的提示、技巧或最佳实践。
【问题讨论】:
以下是您可以做的事情。
我假设您的 C 应用程序作为守护进程运行,因此您不能忽略日志消息。 syslog() 当然是路由消息的一个选项。 syslog() 是守护进程写入消息的位置,管理员解析 syslog 文件的内容以得出有意义的结论。 syslog 也有特定的日志记录格式。但是,我希望建议您编写自己的日志记录方案。这通常是企业软件所需要的,而不是登录到 syslog。这样做
1 .在你的主配置文件中定义一个日志记录宏
#define LOG_ERR log_err
有一个类似的定义 log_err(int errno,char *logger , char *text) api 应该将详细信息记录到日志文件中。
任何包含主配置文件的c文件都可以使用宏
LOG_ERR(errno,"handle_submission()","提交作业失败")
您还应该在记录器文件中包含时间戳。
【讨论】: