捕获文本日志文件到日志

捕获文本日志文件到日志

Journald 手册页。此命令stdout/stderr只能捕获正在运行的服务。然而,有时我们希望将文本日志捕获到日志中,例如nginx access.log

是否可以使用命令捕获任何文本文件,例如tail -finto Journald with systemd tools

答案1

您可以使用此 SF 问答中讨论的方法来完成此任务,标题为:如何从命令行向 systemd 日志发送消息?。该方法使用工具systemd-cat其功能类似于logger.

$ echo 'hello' | systemd-cat -p info
$ echo 'hello' | systemd-cat -p warning
$ echo 'hello' | systemd-cat -p emerg

消息将在日志中显示如下:

Feb 07 13:38:33 localhost.localdomain cat[15162]: hello

您可以控制日志中显示的标识符详细信息,如下所示:

$ echo 'hello' | systemd-cat -t someapp -p emerg

导致这种类型的日志记录:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello

笔记:我仍然可能会使用旨在捕获 Nginx 日志的实际 systemd 单元文件来实现此功能。

相关内容