将特定日志从systemd服务重定向到单独的文件不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将特定日志从systemd服务重定向到单独的文件不起作用相关的知识,希望对你有一定的参考价值。

我已经完成了以下配置,将docker日志重定向到/var/log/docker.log

/lib/systemd/system/docker.service

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=docker-engine

/etc/rsyslog.d/20-docker.conf

if $programname == 'docker-engine' then /var/log/docker.log
if $programname == 'docker-engine' then ~

然后,我做到了

systemctl daemon-reload
systemctl restart docker
systemctl restart rsyslog

但是,当我做cat /var/log/docker.log时,我看不到这样的文件。我使用的是4.4.0-62-generic#83-Ubuntu

答案

1)只需创建日志文件

touch /var/log/docker.log
chown syslog:adm /var/log/docker.log
systemctl restart rsyslog

2)如果以前的变体不起作用,请尝试像这样更改/etc/rsyslog.d/20-docker.conf

if $syslogtag contains 'docker-engine' then /var/log/docker.log
if $syslogtag contains 'docker-engine' then stop

以上是关于将特定日志从systemd服务重定向到单独的文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将 Azure 日志重定向到特定的日志服务

systemd 应用异常退出自启动 + 日志重定向

如何使用 grep 命令将 docker 日志重定向到文本文件? [复制]

将启动脚本记录到gcp中的单独文件中

将 aws lambda 日志重定向到 cloudwatch 中的特定日志组

从 bash 脚本本身将 stdout 的副本重定向到日志文件