2017-05-09 3 views
0

저는 systemd을 처음 접해 보았습니다. 그러나 새로운 Ubuntu 16.04를 기본 설치 한 이래로 모든 nix 시스템에서 defacto 표준이 된 것 같습니다.출력이 저널에 표시되지 않는 이유는 무엇입니까?

하지만 내 응용 프로그램의 출력에 어려움을 겪고 있습니다.

때때로 내 응용 프로그램이나 일부 라이브러리가 stdout 또는 stderr에서 출력됩니다. 이것은 항상 피할 수있는 것은 아니지만 내 의도는 아닙니다. 그래서 무슨 일이 벌어지고 있는지 추적하기 위해이 메시지가 저널에 나타나기를 바랍니다. 반면에 나는 코드를 모두 초기 안녕하세요에서 예외가 포함되어있는 경우

ExecStart=/usr/bin/python -c "print 'Hello';" 

: 나는 경우

그래서 예를 들어, 내 서비스 파일 아무것도 다음은 저널에 기록됩니다 그리고 예외는 저널에 기록됩니다 :

ExecStart=/usr/bin/python -c "print 'Hello';raise Exception('Oh noooo...');" 

내가 저널에 표시 할 정상 표준 출력 메시지를 얻으려면 어떻게해야합니까?

저는 systemd의 229 버전입니다.

답변

2

파이썬은 출력을 버퍼링합니다. python -u 또는 스택 오버플로에서 발견 된 다른 대답을 사용해보십시오.

+0

그것은 효과가 있었습니까? 앱이 종료 될 때 버퍼가 비워서는 안되며 버퍼가 비워져 야합니까? – UlfR

+0

이 질문에 대한 새로운 추가 질문을 만들었습니다. https://serverfault.com/q/849249/243665 – UlfR