使用syslog的应用程序?

分享于 

2分钟阅读

互联网

 

问题:

许多运行时框架和编程语言库都提供了打印到文本日志的功能,包括严重性、时间戳、前缀等功能,但是,如果使用它们就必须管理自己的日志-回滚它们,防止潜在的竞争条件等等,

另一方面,GNU/Linux系统提供了系统级日志基础设施:syslog (使用不同的实现,例如rsyslog和syslog-ng ),

-通过syslog创建应用程序写日志是不是一种好的做法?


答案1:

是的;至少对于在经典Unix/Linux系统上运行的任何程序而言。

  • 最可取的是带有现代log4j类库的可配置日志记录层。然后管理员或软件包维护者或用户可以根据自己的需要配置日志输出(stdout,纯文件,syslog,json,网络服务...)
  • syslog是日志记录层的一个非常简单的解决方案,它的选项比现代的库少,但是它仍然提供中央配置,日志回滚,等等
  • 应用程序特定的日志文件是最糟糕的,用户常常需要围绕它们构建定制工具来捕获输出,并可能回滚旧文件等等

在Docker/Kubernetes生态系统中,应用程序被配置为记录到stdout,因为收集和转发日志的工具在容器外部运行。

对于大量日志,使用单独的输出文件可能更好,例如对于Web服务器访问日志。



SYS  Syslog  
相关文章