logging in python

logging通过Handler控制将日志信息输出到命令行和文件。

logging.StreamHandler()        # 命令行
logging.FileHandler(log_file)  # 文件

logging通过Formatter控制Handler输出内容的格式。

log_format = logging.Formatter(fmt='%(asctime)s - %(levelname)s: %(message)s',
                               datefmt='%Y-%m-%d %H:%M:%S')

console_handler.setFormatter(log_format)

logging通过“名称”区分不同的logger对象。

logging.getLogger()

模板代码

def init_logger(log_file=None, log_file_level=logging.NOTSET):
    '''
    Example:
        >>> init_logger(log_file)
        >>> logger.info("abc")
    '''
    log_format = logging.Formatter(fmt='%(asctime)s - %(levelname)s: %(message)s',
                                   datefmt='%Y-%m-%d %H:%M:%S')

    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    console_handler = logging.StreamHandler()
    console_handler.setFormatter(log_format)
    logger.handlers = [console_handler]
    if log_file and log_file != '':
        file_handler = logging.FileHandler(log_file)
        file_handler.setLevel(log_file_level)
        file_handler.setFormatter(log_format)
        logger.addHandler(file_handler)
    return logger

猜你喜欢

转载自blog.csdn.net/weixin_45850137/article/details/121609920