rsyslog를 사용하여 메시지를 로그 파일로 라우팅하려고 합니다.

rsyslog를 사용하여 메시지를 로그 파일로 라우팅하려고 합니다.

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수정되었습니다.

관련 정보