파이썬 로그 남기기 Logging(Log, Logger, Logging)

2023. 7. 1. 20:29Programming/python

Logging

개발을 하다보면 코드의 대략적인 출력값 그리고 그자리에서 애러가 발생하는지 않하는지를 알기 위해서 

Log를 찍어줄 필요가 있다.

 

Logging  파이썬 개발자는 아니지만 취미로 파이썬 공부를 하다보면 로그를 찍기위해서 이게 필요하다고 느껴 

글을 작성해봅니다.

 

Logggin 모듈

별도의 설치 필요없이 선언만 해주면 바로 사용할 수 있습니다.

import logging

Loggin Defort 는 waring이며 DEBUG < INFO < WARING < ERROR < CRITICAL 순입니다.

import logging

# 로그 생성 및 설정
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

# 로그 파일에 대한 설정
log_file = logging.FileHandler('example.log')
formatter = logging.Formatter(
    '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
log_file.setFormatter(formatter)
logger.addHandler(log_file)

# 로그 처리 예시
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

위는 예시를 동작하면 

INFO:root:Division successful: 10 / 2 = 5
INFO:root:Operation completed
ERROR:root:Exception occurred
Traceback (most recent call last):
  File "C:\python_loggin.py", line 8, in divide
    result = x / y
ZeroDivisionError: division by zero
INFO:root:Operation completed
INFO:root:Division successful: 10 / 2 = 5
INFO:root:Operation completed
ERROR:root:Exception occurred
Traceback (most recent call last):
  File "C:\python_loggin.py", line 8, in divide
    result = x / y
ZeroDivisionError: division by zero
INFO:root:Operation completed
INFO:root:Division successful: 10 / 2 = 5
INFO:root:Operation completed
ERROR:root:Exception occurred
Traceback (most recent call last):
  File "C:\python_loggin.py", line 8, in divide
    result = x / y
ZeroDivisionError: division by zero
INFO:root:Operation completed
2023-07-01 20:21:39,926 - __main__ - DEBUG - This is a debug message
2023-07-01 20:21:39,927 - __main__ - INFO - This is an info message
2023-07-01 20:21:39,927 - __main__ - WARNING - This is a warning message
2023-07-01 20:21:39,927 - __main__ - ERROR - This is an error message
2023-07-01 20:21:39,927 - __main__ - CRITICAL - This is a critical message
2023-07-01 20:21:54,577 - __main__ - DEBUG - This is a debug message
2023-07-01 20:21:54,577 - __main__ - INFO - This is an info message
2023-07-01 20:21:54,577 - __main__ - WARNING - This is a warning message
2023-07-01 20:21:54,577 - __main__ - ERROR - This is an error message
2023-07-01 20:21:54,577 - __main__ - CRITICAL - This is a critical message

 

기록된 로그는 example.log 파일에 저장됩니다. 위 예시 코드를 참고하여 로깅 모듈의 기본적인 동작원리와 로깅 설정방법을 이해하고, 로깅 관련된 다양한 기능들을 활용할 수 있을 것입니다.

반응형