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

时间:2017-06-27 05:10:46

标签: ubuntu logging systemd syslog rsyslog

我已完成以下配置,将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 个答案:

答案 0 :(得分:1)

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