[python] Tornado에서의 로그 처리 방법

Tornado는 Python으로 작성된 비동기 웹 프레임워크로, 대부분의 작업을 비동기로 처리하기 때문에 로그 처리는 중요한 부분입니다. 이 글에서는 Tornado에서 로그를 처리하는 방법에 대해 살펴보겠습니다.

1. 기본 로그 설정

Tornado는 기본적으로 logging 모듈을 사용하여 로그를 처리합니다. 따라서 로그를 사용하려면 logging 모듈을 import해야 합니다.

import logging

로깅 레벨을 설정하여 로그의 출력을 제어할 수 있습니다. 예를 들어, INFO 레벨로 설정하면 INFO 레벨 이상의 로그만 출력됩니다.

logging.basicConfig(level=logging.INFO)

2. 로그 출력

Tornado에서는 logging 모듈을 사용하여 로그를 출력합니다. 다음은 로그를 출력하는 예제입니다.

import logging

class MyHandler(tornado.web.RequestHandler):
    def get(self):
        logging.debug("This is a debug log.")
        logging.info("This is an info log.")
        logging.warning("This is a warning log.")
        logging.error("This is an error log.")
        logging.critical("This is a critical log.")

3. 로그 파일로 저장

로그를 파일로 저장하려면 FileHandler를 사용해야 합니다. 다음은 파일로 로그를 저장하는 예제입니다.

import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)

# 로그 파일 설정
log_file = 'app.log'

# FileHandler를 사용해 로그를 파일로 출력
file_handler = logging.FileHandler(log_file)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)

# 로그 레벨 및 handler 설정
logger.addHandler(file_handler)

class MyHandler(tornado.web.RequestHandler):
    def get(self):
        logging.info("This log will be saved in a file.")

마무리

Tornado에서 로그를 처리하는 방법에 대해 간단히 알아보았습니다. 로그는 애플리케이션의 동작을 파악하고 디버깅하는데 도움이 되므로 적절히 설정하고 사용하는 것이 좋습니다. Tornado의 로그 처리 기능을 활용하여 안정적인 애플리케이션 개발에 도움이 되길 바랍니다.

참고 문서: Tornado Logging - tornado documentation