파이썬 기본 템플릿(logger, try ..., catch)

조종태·2019년 5월 5일
1

python

목록 보기
1/6

콘솔과 파일에 로그를 남기고 예외 처리가 포함된 기본 코드

import os
import logging, traceback
from logging.handlers import TimedRotatingFileHandler

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s %(levelname)-7s %(lineno)3s:%(funcName)20s %(message)s')
streamHander = logging.StreamHandler()
streamHander.setFormatter(formatter)
logger.addHandler(streamHander)

current_dir = os.path.dirname(os.path.abspath(__file__))
filename = __file__.split(".")[0] + ".log"
filename = current_dir + os.sep + "log" + os.sep + filename
fileHander = TimedRotatingFileHandler(filename=filename, when='midnight', backupCount=7)
fileHander.setFormatter(formatter)
logger.addHandler(fileHander)


def function_name():
    try:
        logger.debug("begin")

    except Exception as e:
        logger.error(traceback.format_exc())
    finally:
        logger.debug("end")


if __name__ == '__main__':
    function_name()
profile
일주일 동안 일을 하면서 다음에 사용할 수 있는 내용을 정리합니다.

0개의 댓글