KEEP GOING

[python] 로깅(logging) 라이브러리 사용법(setLevel, fileHandler, StreamHandler) 본문

python

[python] 로깅(logging) 라이브러리 사용법(setLevel, fileHandler, StreamHandler)

jmHan 2022. 10. 13. 13:44
반응형

logging

소프트웨어 실행 시 문제가 발생할 경우, 그 상황에 대한 정보를 얻기 위해 로그를 남겨야 한다.

이러한 파이썬 로그 라이브러리를 logging이라 한다. 각 이벤트는 부여한 중요도를 가지고 있으며 이 중요도를 수준(level) 또는 심각도(severity)라고 부른다.

 

log level

debug: 상세한 정보. 문제 진단 시 사용

info: 예상대로 동작하는지 확인

warning: 예상치 못한 일이 발생했거나 미래에 발생할 문제를 표시. 소프트웨어는 그대로 동작 

error: 심각한 문제로 인해 소프트웨어가 일부 기능을 수행하지 못한 경우  

critical: 프로그램 자체가 계속 실행되지 않을 수 있음

def main():
    # 출력되지 않음
    logging.debug('debug')
    logging.info('information')
    
    # 출력됨
    logging.warning('warning')
    logging.error('error')
    logging.critical('critical')
    

if __name__ == "__main__":
    main()

 

log format

로깅 메시지의 포맷을 커스터마이징하는 방법

실행 시간(asctime), 메시지의 중요 수준(levelname), 실행 중인 함수명(funcName), 행 번호(lineno), 로그 메시지(message) 등을 작성할 수 있다.

 

로깅 핸들러

로깅 메시지를 전달하는 수단을 의미한다. logging 라이브러리를 통해 Logger 객체에 원하는 만큼 핸들러를 추가할 수 있다. 각 핸들러에서는 설정을 통해 다른 양식의 포맷 메시지를 전달할 수 있다.  

FileHandler: 로깅 메시지를 파일로 저장

StreamHandler: 콘솔창에 로그 메시지 출력

 

 

 

 

 

  

 

 

 

반응형
Comments