터미널을 사용하다 보면 화면에 출력되는 내용을 저장해야 하는 경우가 생긴다.

 

실험 기록을 남기든, 누군가에게 에러 로그를 전달하든.

 

만약 main.py를 실행시키면서 발생하는 모든 출력 내용 (stdout)을 log.txt 파일에 저장하고 싶다면,

 

아래와 같이 하면 된다.

$ python main.py |& tee -a log.txt

몇 가지 옵션이 있는데,

  • &는 에러 로그 (stderr)도 전달하라는 뜻이다. 빼는 경우 에러 메시지는 저장되지 않는다.
  • -a는 만약 log.txt가 존재하면 새로운 로그 내용을 이전 파일 뒷부분에 추가 (append) 하라는 뜻이다.
    빼는 경우 기존에 존재하는 log.txt를 덮어쓴다.

정도면 충분하지 않을까.

 

 

실험 기록이야 정확한 값이 적절한 자료구조에 들어가 있는 게 중요하기에

 

실제로는 별도의 로깅 클래스를 만들어 사용하지만,

 

남의 코드에서 에러가 났을 때 모양빠지게 캡처본을 전달하기보다는

 

이렇게 log.txt를 만들어서 주는게 훨씬 괜찮은 것 같다.

+ Recent posts