【发布时间】:2012-03-28 21:39:55
【问题描述】:
我正在寻找一种方法来实现一个日志机制,多个进程通过 C 和 Linux 将它们的行为(主要用于进程的错误和执行顺序)写入它?
只是打开一个为多进程共享的文件并让进程 fprintf() 访问它?有什么聪明的方法来实现控制日志级别的选项/机制,例如错误/详细/高或类似的东西?
如果你能为此推荐我一个轻量级的开源软件会更好?
谢谢。
【问题讨论】:
我正在寻找一种方法来实现一个日志机制,多个进程通过 C 和 Linux 将它们的行为(主要用于进程的错误和执行顺序)写入它?
只是打开一个为多进程共享的文件并让进程 fprintf() 访问它?有什么聪明的方法来实现控制日志级别的选项/机制,例如错误/详细/高或类似的东西?
如果你能为此推荐我一个轻量级的开源软件会更好?
谢谢。
【问题讨论】:
使用 fprintf 是可以的,但是我不确定 fprintf 是否是线程安全的,如果不使用锁定机制来阻止 fprintf 调用以进行多个同时访问。
【讨论】:
使用syslog,这是标准 (POSIX) 日志记录解决方案。
【讨论】:
在其他语言中,log4c 非常流行(log4j、log4net)。它有很多刚刚加入的功能,而且由于它很常见,其他处理您的代码的开发人员会熟悉它。
【讨论】: