C程序的日志记录

C程序的日志记录,c,linux,logging,C,Linux,Logging,我需要一些聪明的日志库,用于Linux上的守护进程,如C(而不是C++)程序。它需要开源。它应该支持记录到文件,可能是套接字等 或者至少是一些好的提示、技巧或最佳实践。使用()。这将使程序内日志记录与处理日志的方式分离。现在大多数Linux发行版都使用它,并且允许在处理日志方面有很大的灵活性。以下是您可以做的事情 我假设您的C应用程序作为deamon运行,因此您不能frintf日志消息。syslog()当然是路由消息的一个选项。syslog()是deamons编写消息和管理员解析syslog文件

我需要一些聪明的日志库,用于Linux上的守护进程,如
C
(而不是
C++
)程序。它需要开源。它应该支持记录到文件,可能是套接字等


或者至少是一些好的提示、技巧或最佳实践。

使用()。这将使程序内日志记录与处理日志的方式分离。现在大多数Linux发行版都使用它,并且允许在处理日志方面有很大的灵活性。

以下是您可以做的事情

我假设您的C应用程序作为deamon运行,因此您不能frintf日志消息。syslog()当然是路由消息的一个选项。syslog()是deamons编写消息和管理员解析syslog文件内容以得出有意义结论的位置。syslog还具有特定的日志记录格式。然而,我希望政府建议您编写自己的日志记录方案。这通常是企业软件所需要的,而不是登录到syslog。这样做

一,。在主配置文件中定义一个日志宏

 #define LOG_ERR log_err 
有这样的定义 日志错误(int errno,char*logger,char*text) api应将详细信息记录到日志文件中

  • 任何包含主配置文件的c文件都可以使用宏

    日志错误(错误号,“句柄提交()”,“作业提交失败”)

  • 您还应该在记录器文件中包含时间戳

    可能重复的,并注意有关网络性的信息。