본문 바로가기
Language/Python

Log handler

by Wikinist 2023. 7. 20.

파이썬의 logging 모듈은 다양한 로그 핸들러를 제공하여 로그를 다양한 대상으로 출력할 수 있습니다. 주요 로그 핸들러들과 각각의 역할에 대해 설명하겠습니다.

StreamHandler (스트림 핸들러)

로그를 스트림으로 출력하는 핸들러입니다. 스트림은 콘솔(Console)과 같은 출력 장치를 의미합니다.
주로 개발 중에 로그를 확인하는 용도로 사용됩니다.
logging.StreamHandler 클래스를 사용하여 생성하며, 기본적으로 콘솔에 로그를 출력합니다.

FileHandler (파일 핸들러)

로그를 파일로 출력하는 핸들러입니다. 로그를 파일에 기록하여 보관하거나 분석하는 용도로 사용됩니다.
logging.FileHandler 클래스를 사용하여 생성하며, 지정한 파일에 로그를 기록합니다.

RotatingFileHandler (회전 파일 핸들러)

로그 파일을 일정 크기 또는 일정 개수에 도달하면 새로운 파일로 회전시키는 핸들러입니다.
로그 파일의 크기를 제한하여 로그 파일이 너무 커지는 것을 방지합니다.
logging.handlers.RotatingFileHandler 클래스를 사용하여 생성할 수 있습니다.

TimedRotatingFileHandler (시간 기반 회전 파일 핸들러)

로그 파일을 일정 시간 간격으로 회전시키는 핸들러입니다.
로그 파일의 생성 주기를 지정하여 주기마다 새로운 파일로 회전시킵니다.
logging.handlers.TimedRotatingFileHandler 클래스를 사용하여 생성할 수 있습니다.

SMTPHandler (이메일 핸들러)

로그를 이메일로 전송하는 핸들러입니다.
주로 예외 또는 중요한 로그를 이메일로 받아보고자 할 때 사용됩니다.
logging.handlers.SMTPHandler 클래스를 사용하여 생성할 수 있습니다.

NullHandler (널 핸들러)

로그를 무시하는 핸들러입니다. 아무런 동작을 하지 않으며, 로그를 출력하지 않습니다.
주로 기본적으로 설정된 핸들러가 없는 경우 사용됩니다.
logging.NullHandler 클래스를 사용하여 생성할 수 있습니다.
이외에도 다양한 로그 핸들러들이 존재합니다. 로깅 레벨, 로그 포맷 등의 설정과 함께 적절한 로그 핸들러를 선택하여 프로그램의 로깅을 관리하는 것이 중요합니다. 로그 핸들러들은 logging 모듈의 클래스들로 제공되며, 사용자의 요구에 따라 적절한 핸들러를 선택하여 로그를 관리할 수 있습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Language > Python' 카테고리의 다른 글

로그에 클래스이름 출력하기  (0) 2023.07.23
로그 핸들러 추가 방법  (0) 2023.07.20
파이썬 로그 설정  (0) 2023.07.20
객체 생성 시, 패러미터 검사  (0) 2023.07.20
클래스 변수 선언 시 _와 __의 차이  (0) 2023.07.19