본문 바로가기

Programming/python

logging module을 이용한 색상 출력

로그 기능을 이용하여 색상 출력을 하려면, 일반적으로 Python에서 사용되는 로깅 라이브러리를 이용하면 됩니다. 로깅 라이브러리는 기본적으로 콘솔 출력에 대한 로그를 지원하지만, 여기에 색상을 추가하려면 추가적인 설정이 필요합니다. 아래는 Python에서 로깅과 색상 출력을 함께 사용하는 방법을 설명한 것입니다.

1. 로깅 라이브러리 가져오기:
Python에서 기본적으로 제공되는 `logging` 모듈을 가져옵니다.

import logging



2. 로거 설정하기:
로깅 시스템을 설정하고 로그 메시지의 출력 형식을 지정합니다. 여기서는 로그 메시지에 색상을 추가하기 위해 ANSI escape 코드를 사용합니다.

# 로그 레벨 설정 (DEBUG, INFO, WARNING, ERROR, CRITICAL 중 하나 선택)
logging.basicConfig(level=logging.DEBUG)

# 색상을 적용한 로그 출력 형식 설정
color_log_format = "\033[1;32m%(levelname)s\033[1;0m: %(message)s"
logging.basicConfig(format=color_log_format)



위의 예제에서 `\033[1;32m`은 ANSI escape 코드로 색상을 나타내며, `1;32`는 밝은 녹색을 나타냅니다. `%(levelname)s`와 `%(message)s`는 로그 레벨과 메시지를 나타내는 부분을 대체하는 로깅 포맷입니다.

3. 로그 출력하기:
이제 로깅 라이브러리를 사용하여 로그를 출력할 수 있습니다.

logging.debug("이것은 디버그 메시지입니다.")
logging.info("이것은 정보 메시지입니다.")
logging.warning("이것은 경고 메시지입니다.")
logging.error("이것은 에러 메시지입니다.")
logging.critical("이것은 심각한 에러 메시지입니다.")



실행하면 로그 레벨에 따라 다른 색상으로 출력됩니다. 단, 이 방법은 콘솔 출력에만 적용되며, 로그 파일 등 다른 출력 형식에서는 ANSI escape 코드가 올바르게 지원되지 않을 수 있습니다.

출력 색상을 변경하려면 ANSI escape 코드에서 다른 값을 사용하면 됩니다. 예를 들어, `1;31`은 밝은 빨간색을, `1;34`는 밝은 파란색을 나타냅니다. 색상 코드에 대한 자세한 내용은 ANSI escape code를 검색하면 찾을 수 있습니다.

반응형