먼저 나의 환경은 Ubuntu 18.04이다.
나의 서비스명은 park-duck-backend.service로 가정한다.
Service를 등록하고 StandardOutput=append:[path]로 설정하였지만, 로그를 기록하지 않았다.
로그를 파일로 기록하도록 설정해보자.
먼저 알아보아야 할 것은
1. journalctl 확인
아래 명령어를 실행해보면 분명 뭔가를 기록하고 있다. 그러므로 log가 실행되지 않는 것은 아니다.
journalctl -u park-duck-page-backend.service -f
만약 실행이 되지 않는다면 아래의 명령어를 통하여 StandardOutput의 설정값을 확인해보자.
journal이 아니라면 다른 곳에 메시지로그를 쌓고 있을 수도 있다.
sudo systemctl show park-duck-page-backend.service | grep StandardOutput
2. file권한 확인
아래 명령어를 통해 쓰기 권한이 있는지 확인.
ls -al
3. redirection 확인
나의 경우 해결된 방법인데,
원래라면 "StandardOutput=append:[path]"로 journal의 메시지 기록이 redirection되어야하지만 OS가 오래되어서 그런지 append가 실행이 되지 않을 때가 있다. (다른 OS버전을 확인하진 못했다)
그러면 이 출력을 journal이 아닌 file로 변경하는 방법이 있다.
"StandardOutput=file:[path]"로 변경하면된다.
ex)
이렇게 하면 Service에 대한 로그 관리를 journal이 아닌 file로 바꾸는 것이기 때문에 journal에는 메시지 로그가 남지 않는다.
StandardOutput 설정값 또한 file로 변경된다
'프로그래밍 > Linux' 카테고리의 다른 글
개인 Cloud Server 만들기(feat.NextCloud) (7) | 2024.10.16 |
---|---|
[Ubuntu] 구글 계정 연동 (0) | 2024.09.24 |
[Ubuntu] 화면 검은색 깜빡임 해결 (0) | 2023.09.12 |
[Ubuntu] STM32 VSCode debugger GDB version Error 해결 (0) | 2023.08.14 |
[Ubuntu] STLink Upgrade 사용하여 STM32 board firmware update하기 (0) | 2023.08.14 |
댓글