파이썬으로 배치를 만들고 나고 실행하는 동안 로그파일에 아무 내용도 남지 않아서 해당글을 보고 계신다면 아래에 내용을 참고 해주세요
1. 파이썬 코드 수정
- 버퍼링 비활성화: print 호출 시 flush=True 추가.
import timeprint("Start", flush=True)time.sleep(2)print("Middle", flush=True)time.sleep(2)print("End", flush=True)
- 효과: 출력이 즉시 파일에 기록됨.
2. 환경 변수 사용
- 파이썬 실행 시 -u 플래그 추가 (unbuffered 모드).
bashCollapseWrapCopypython -u $BATCH/$PROG/$PROG.py > $BATCH/$PROG/output.log 2>&1
- 효과: stdout과 stderr가 버퍼링 없이 즉시 출력.
3. 셸 명령어 수정
- stdbuf 명령어로 버퍼링 제어 (Linux/Unix 환경).
bashCollapseWrapCopypython -oL $PY3 $BATCH/$PROG/$PROG.py > $BATCH/$PROG/output.log 2>&1
- -oL: 줄 단위 버퍼링(line buffering) 활성화.
- 효과: \n마다 로그가 파일에 기록.