IT/OS

Systemd 서비스 생성 시, 지정한 경로에 로그가 저장 안될 때

NineKY 2023. 3. 6. 10:55

Systemd로 등록하여 서비스로 관리하는 경우가 있는데, 구글링을 열심히 하다보면, 로그를 저장할 경로를 StandardOutput / StandardError를 이용해 지정하라고 한다.

 

아래와 같이 값을 넣어두면 될 것이라고 생각을 했는데,

StandardOutput=/myproject/log/stdout.log
StandardError=/myproject/log/stderr.log

 

이런 경우 아래와 같이 에러가 생기고 무시가 되어 버리며, /var/log/syslog 에 로그가 저장되어 버린다.

/etc/systemd/system/myproject.service:11: Failed to parse output specifier, ignoring: /myproject/log/stdout.log

 

이는 경로의 양식이 잘못된 경우이니, 아래와 같이 수정하면 된다.

StandardOutput=file:/myproject/log/stdout.log
StandardError=file:/myproject/log/stderr.log