본문 바로가기

log5

로그 필터 설정 파이썬에서 필터를 사용하여 디버그 모드의 로그만 출력하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법 중 하나는 logging 모듈을 사용하는 것입니다. logging 모듈은 로깅과 관련된 다양한 기능을 제공합니다. 아래는 디버그 모드의 로그만 출력하는 방법을 보여주는 예제 코드입니다. import logging # 로깅 설정 logging.basicConfig(level=logging.DEBUG) # 디버그 레벨 이상의 로그를 출력 # 로거 객체 생성 logger = logging.getLogger('my_logger') # 필터 설정 class DebugFilter(logging.Filter): def filter(self, record): return record.levelno == loggi.. 2023. 7. 23.
로그에 클래스이름 출력하기 클래스 이름을 직접 문자열로 쓰지 않고서도 로그 메시지에 클래스 이름을 나타내는 방법은 logging.Logger 클래스의 getChild() 메서드를 사용하는 것입니다. 이를 통해 자식 로거를 생성하고, 이 자식 로거에 클래스 이름을 전달하여 로그 메시지를 출력할 수 있습니다. 다음은 getChild() 메서드를 사용하여 클래스 이름을 로그 메시지에 포함하는 방법을 보여주는 예제 코드입니다. import logging # 전역 로그 설정 logging.basicConfig(level=logging.DEBUG) # 커스텀 포매터 정의 class CustomFormatter(logging.Formatter): def format(self, record): # 클래스 이름과 위치 정보를 추가하여 로그 메시지.. 2023. 7. 23.
로그 핸들러 추가 방법 먼저, 클래스 내부에서 로거를 생성하고 파일 핸들러를 추가하는 방법입니다. import logging class MyClass: def __init__(self): self.logger = logging.getLogger('MyClass') self.logger.setLevel(logging.DEBUG) log_file = 'my_class.log' file_handler = logging.FileHandler(log_file) file_handler.setLevel(logging.DEBUG) log_format = '%(asctime)s - %(levelname)s - %(message)s' date_format = '%Y-%m-%d %H:%M:%S' formatter = logging.Formatte.. 2023. 7. 20.
Log handler 파이썬의 logging 모듈은 다양한 로그 핸들러를 제공하여 로그를 다양한 대상으로 출력할 수 있습니다. 주요 로그 핸들러들과 각각의 역할에 대해 설명하겠습니다. StreamHandler (스트림 핸들러) 로그를 스트림으로 출력하는 핸들러입니다. 스트림은 콘솔(Console)과 같은 출력 장치를 의미합니다. 주로 개발 중에 로그를 확인하는 용도로 사용됩니다. logging.StreamHandler 클래스를 사용하여 생성하며, 기본적으로 콘솔에 로그를 출력합니다. FileHandler (파일 핸들러) 로그를 파일로 출력하는 핸들러입니다. 로그를 파일에 기록하여 보관하거나 분석하는 용도로 사용됩니다. logging.FileHandler 클래스를 사용하여 생성하며, 지정한 파일에 로그를 기록합니다. Rotat.. 2023. 7. 20.
파이썬 로그 설정 import logging # 로그 파일 경로 log_file = 'app.log' # 로그 포맷 설정 log_format = '%(asctime)s - %(levelname)s - %(message)s' date_format = '%Y-%m-%d %H:%M:%S' # 로그 레벨 설정 (DEBUG, INFO, WARNING, ERROR, CRITICAL) log_level = logging.DEBUG # 로거 설정 logging.basicConfig(filename=log_file, level=log_level, format=log_format, datefmt=date_format) # 로그 메시지 출력 logging.debug('This is a debug message.') logging.info('.. 2023. 7. 20.