在 myapp.service 中,我有:
StandardOutput=syslog
StandardErr=syslog
当我做 :
$ journalctl -e -u myapp
我可以看到日志的每一行都包含“myapp[PID]”。
我尝试使用以下命令设置 /etc/rsyslog.d/myapp.conf:
if $msg contains 'myapp' then /opt/myapp/log/myapp.log
& stop
或者
if $programname == 'myapp' then /opt/myapp/log/myapp.log
& stop
每次使用“rsyslogd -N1”检查语法并重新启动 rsyslogd。
但日志消息未路由,myapp.log 中未写入任何内容
难道是因为我的 rsyslog 版本(8.16)?或者一些权限问题?我尝试过触摸日志文件,但没有成功。
答案1
这是一些权限问题:chmod 666 myapp.log
已修复。