[python] 파이썬(PyMongo)을 사용한 MongoDB 로깅 설정

이번 글에서는 파이썬에서 MongoDB를 사용하여 로깅 설정을 하는 방법에 대해 알아보겠습니다. 로깅은 애플리케이션의 동작 상태를 기록하는 중요한 기능으로, 간편한 데이터 추적 및 디버깅을 위해 사용됩니다. PyMongo 라이브러리는 파이썬에서 MongoDB에 접속하고 상호작용하는 데 사용됩니다.

1. PyMongo 설치

먼저, PyMongo 라이브러리를 설치해야 합니다. 아래의 명령어를 통해 PyMongo를 설치할 수 있습니다:

pip install pymongo

2. 로깅 설정

PyMongo에서 제공하는 logging 모듈을 사용하여 로깅을 설정할 수 있습니다. 아래의 코드는 로깅 레벨을 설정하는 예시입니다:

import logging
from pymongo import MongoClient

# 로깅 설정
logging.basicConfig(level=logging.INFO)

# MongoDB에 접속
client = MongoClient('mongodb://localhost:27017/')
db = client['mydb']

# 쿼리 실행 및 로그 기록
cursor = db.mycollection.find()
for document in cursor:
    logging.info(document)

위 코드에서, logging.basicConfig(level=logging.INFO)는 로깅 레벨을 INFO로 설정합니다. 다른 로깅 레벨로는 DEBUG, WARNING, ERROR 등이 있습니다. 필요에 따라 로깅 레벨을 변경할 수 있습니다.

3. 로그 파일 저장

로그를 파일로 저장하고 싶을 경우, 아래의 코드를 사용하여 로그 파일 핸들러를 생성하고 설정할 수 있습니다:

import logging.handlers

# 로그 파일 생성 및 핸들러 설정
file_handler = logging.handlers.RotatingFileHandler(filename='logs.log', maxBytes=1024, backupCount=5)
file_handler.setLevel(logging.INFO)

# 로깅 포맷 설정
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)

# 로거에 핸들러 추가
logger = logging.getLogger()
logger.addHandler(file_handler)

# MongoDB에 접속
client = MongoClient('mongodb://localhost:27017/')
db = client['mydb']

# 쿼리 실행 및 로그 기록
cursor = db.mycollection.find()
for document in cursor:
    logging.info(document)

위 코드에서, RotatingFileHandler 클래스를 사용하여 로그 파일을 생성합니다. filename 매개변수에 로그 파일의 경로 및 이름을 지정할 수 있습니다. maxBytes는 로그 파일의 최대 크기를 지정하고, backupCount는 백업 파일의 개수를 지정합니다. setFormatter() 메서드를 사용하여 로깅의 포맷을 설정할 수도 있습니다.

이제 파이썬에서 MongoDB로 로깅 설정을 하는 방법에 대해 알아보았습니다. 로깅은 디버깅이나 모니터링 중에 매우 유용한 기능이므로, 애플리케이션 개발 시 꼭 활용해보세요!

참고 자료