파이썬 스크립트가 있습니다. SimpleLogger
as sys.stdout
가 있습니다 output_stream
.
logger = SimpleLogger(level=LogLevel.DEBUG)
콘솔에서 실행하면 로그가 올바르게 표시되지만 출력을 파일로 리디렉션할 때마다 대상에서 아무것도 찾을 수 없습니다.
나는 여러 가지 접근 방식을 시도했습니다.
- python server.py > /tmp/x.log 2>&1
- 파이썬 server.py > /tmp/x.log
두 경우 모두 /tmp/x.log
비어 있습니다.
나도 시도해 보았지만 nohup python server.py
아무 것도 쓰여 있지 않았습니다 nohup.out
.
답변1
이는 버퍼링 때문일 수도 있습니다. 충분한 출력이 축적된 경우에만 파일에 내용이 표시됩니다. Python에 설명된 대로 python -u
버퍼링되지 않은 출력을 요청하거나 PYTHONUNBUFFERED=
비어 있지 않은 문자열로 환경 변수를 설정할 수 있습니다 .명령줄문서화하거나 .flush()
각 .debug()
통화 또는 유사한 통화 후에 통화를 추가합니다.