python 日志函数书写规范

108 阅读1分钟

python开发中,需要经常用到日志模块,这一块怎么写会比较好呢,下面是该模块的比较规范的写法

import logging
LOG_LEVEL = logging.INFO
LOG_DIR = "log"
LOG_FILE = "info.log"

def get_logger(name, log_file=LOG_FILE, level=LOG_LEVEL):
    logger = logging.getLogger(name)
    logger.setLevel(level)
    logsh = logging.StreamHandler()
    logsh.setLevel(level)
    formatter = logging.Formatter('[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s')
    logsh.setFormatter(formatter)
    logger.addHandler(logsh)

    # file log
    if not os.path.isdir(LOG_DIR):
        os.mkdir(LOG_DIR)
    logfl = logging.FileHandler(os.path.join(LOG_DIR, log_file),
            mode="w+", encoding="utf-8")
    logfl.setLevel(level)
    logfl.setFormatter(formatter)
    logger.addHandler(logfl)
    return logger


logger = get_logger(__name__)