[python] 파이썬에서 데이터베이스 연동 시 로깅 처리하기

데이터베이스는 많은 어플리케이션에서 중요한 역할을 하며, 이에 따라 데이터베이스 작업을 수행할 때 로깅 처리는 매우 중요합니다. 파이썬에서 데이터베이스에 연결하고 쿼리를 실행할 때 발생할 수 있는 예외 상황 및 정보를 로깅하여 추적하고 분석할 수 있습니다. 이번 글에서는 파이썬에서 데이터베이스 연동 시 로깅을 어떻게 처리할 수 있는지 알아보겠습니다.

로깅 라이브러리 선택

파이썬에서는 로깅을 위해 기본 모듈인 logging을 제공하고 있습니다. 이 모듈을 사용하여 데이터베이스 연동 시 로깅을 구현할 수 있습니다.

import logging

# 로깅 설정
logging.basicConfig(filename='database.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

위 코드는 database.log 파일에 로그를 기록하며, 레벨은 INFO로 설정되어 있습니다.

데이터베이스 연동 시 로깅

다음은 파이썬에서 데이터베이스에 연결하고 쿼리를 실행할 때의 로깅 예제입니다.

import logging
import pymysql

# 로깅 설정
logging.basicConfig(filename='database.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# 데이터베이스 연결
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb')

try:
    with conn.cursor() as cursor:
        # 쿼리 실행
        cursor.execute('SELECT * FROM mytable')
        result = cursor.fetchall()
        logging.info('쿼리 실행 결과: %s', result)
except Exception as e:
    logging.error('에러 발생: %s', e)
finally:
    conn.close()

위 코드에서는 pymysql 라이브러리를 사용하여 MySQL 데이터베이스에 연결하고 쿼리를 실행하였습니다. 쿼리 실행 결과나 발생한 에러에 대한 정보가 로그 파일에 기록됩니다.

결론

파이썬에서 데이터베이스 연동 시 로깅을 적절히 처리함으로써 발생할 수 있는 문제에 대한 신속한 대응 및 해결을 도울 수 있습니다. logging 모듈을 사용하여 로깅을 구현하고, 데이터베이스 작업 시 예외 상황 및 결과를 로그로 남겨 추적하면 유용합니다.

위 예제는 MySQL 데이터베이스를 대상으로 하였지만, 다른 데이터베이스에 대해서도 유사한 방식으로 로깅을 처리할 수 있습니다.