언어/Python
Python Logger 사용
darkdevilness
2021. 1. 19. 09:53
728x90
아래 코드는 제가 프로그램 작성할 때사용하는 logger 함수 입니다.
import configparser
def create_custom_logger(logger_name, **kwargs):
level = kwargs.get("level", "NOTSET")
logfile = kwargs.get("logfile", __name__)
f_record = kwargs.get("f_record", False)
logfile = os.path.normpath(f"log/{logfile}.log")
""" Create module logger """
level = {"CRITICAL": logging.CRITICAL, "ERROR": logging.ERROR, "WARNING": logging.WARNING, "INFO": logging.INFO,
"DEBUG": logging.DEBUG, "NOTSET": logging.NOTSET}[level.upper()]
mLogger = logging.getLogger(logger_name)
mLogger.setLevel(level)
mLogger.propagate = 0
stream_formatter = logging.Formatter('%(levelname)s - %(message)s')
stream_hander = logging.StreamHandler()
stream_hander.setFormatter(stream_formatter)
mLogger.addHandler(stream_hander)
if f_record:
os.makedirs(os.path.dirname(logfile), exist_ok=True)
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler = logging.FileHandler(logfile)
file_handler.setFormatter(file_formatter)
mLogger.addHandler(file_handler)
mLogger.setLevel(level)
mLogger.propagate = 0
return mLogger
mLog = create_custom_logger("mylogger", level="info", f_record=True)
mLog.info(f"필요한 곳에 넣으면 됩니다.")
728x90