2017-10-08 13 views
0

패브릭의 로거 모듈 작동 방식을 이해하려고합니다. 내가 명령 줄에서 실행 :파이썬 패브릭 로깅 오류

$ fabfile -I task-1 

I 물론 나에게 연결된 원격 호스트의 각 작업의 실행을 보여주는 콘솔에 출력을 얻을. Bu 오류 출력을 내 로컬 컴퓨터의 로그 파일로 리디렉션하고 타임 스탬프를 어떻게 넣을 수 있습니까? fabric의 로거 모듈이이를 제공합니까? 아니면 파이썬의 로깅 모듈을 사용해야합니까? 둘 중 하나, 구현 방법을 잘 모릅니다.

답변

0

불행하게도, 패브릭은 파일에 로그인

을 (issue #57 참조)하지만 꽤 좋은 찾을 logging 모듈을 사용하여 해결 방법이 기능하지 않습니다.

먼저 로거 구성 :

import logging 

logging.basicConfig(
    level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(name)s:%(message)s', 
    filename="out.log", 
    filemode='a' 
) 

을 그리고 다음과 같은 try/catch 블록과 오류를 던질 가능성이 코드의 일부를 포장 :

 
try: 
    #code 
except: 
    logging.exception('Error:') 

로거는 'Error:'를 인쇄합니다 예외의 stacktrace를 "out.log"로 변경