具有动态设施的系统日志守护程序或每个软件都有自己的记录器?

Posted

技术标签:

【中文标题】具有动态设施的系统日志守护程序或每个软件都有自己的记录器?【英文标题】:syslog-daemon with dynamic facilitys or own logger for each software? 【发布时间】:2013-02-12 23:33:24 【问题描述】:

目前我正在编写一些产生输出的守护程序应用程序,这应该被记录下来。所以现在我有两个选择:使用 syslog 或提供自己的函数来写入我的日志文件。

但是我发现了一个小问题,我想我不是第一个: 我不喜欢提供自己的函数来打开文件、写入文件、关闭文件等。对于一个应用程序可能没问题,但我认为开发人员不应该编写两次源代码。因此,如果您编写两个守护进程 - 使用相同的日志函数,但我们有:

您可以使用 Linux 的 syslog,但我认为如果所有守护程序都写入设施“守护程序”可能没有用 - 我认为这已经过时了!所以我想提供自己的设施,但我还没有找到这个实现。那么有什么原因吗?

我认为以前没有人这样做可能是有原因的?那么现在应该有什么更好的方法呢?为我的软件编写一个“新”记录系统还是只编写一个记录器?

【问题讨论】:

请改写以提供明确的问题。您应该避免提出主观问题(所以我对您的意见感兴趣)。 ***.com/faq#dontask 现在编辑了 - sry :/ "...不应该两次编写源代码..." - 为什么不将您的自定义日志函数放入(共享)库并将其链接到任一守护程序?我会考虑只将致命/紧急错误记录到系统日志中。其他一切(诊断、信息等)我都会登录到“特定于应用程序”的日志中。 【参考方案1】:

local0 到 local7 系统日志设施是要走的路。请务必将 APPNAME 设置为 syslog 字段,以便能够进一步过滤写入的日志。

【讨论】:

以上是关于具有动态设施的系统日志守护程序或每个软件都有自己的记录器?的主要内容,如果未能解决你的问题,请参考以下文章

系统日志服务rsyslog

没有监控和日志咋整?老程序员来支招

Ubuntu查看和写入系统日志

Centos8 中如何使用journalctl分析日志

文件管理

RHEL7.x和CentOS7.x 中调优守护进程配置文件