应用程序日志文件到 systemd 日志

应用程序日志文件到 systemd 日志

我一直想知道是否可以让 systemd 在启动单元时开始跟踪日志文件,并将该数据发送到系统日志中。

为了便于讨论,假设该程序记录到纯文本文件,而不是标准输出。如果我必须举个例子,我的世界服务器就可以。

我知道systemd-cat,但这只是一个第三方应用程序,logger与单位系统无关。

答案1

您可以在服务单元文件中尝试此操作:

ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'

它比推荐的记录到 STDOUT 的模式更脆弱,因为如果日志文件被轮换,则tail不一定会再次连接文件描述符,直到服务重新启动。

据我所知,没有内置函数可以跟踪日志文件。这是其他日志系统可以rsyslog做的事情。

相关内容