python 日志模块-logging使用教程,将日志输出到控制台与文件中

代码:

import logging
def log():
    # 创建一个logger
    logger = logging.getLogger()
    # Log等级总开关,低于此级别的都不会记录
    logger.setLevel(logging.DEBUG)
    # 自定义log目录
    logfile = r'C:\Users\Administrator\Desktop\logs.log'
    # 创建一个handler,用于写入日志文件
    filehandler=logging.FileHandler(filename=logfile,encoding='utf-8')
    # 用于写到file的等级开关
    filehandler.setLevel(logging.DEBUG)
    # 再创建一个handler,用于输出到控制台
    consolehandler=logging.StreamHandler()
    # 输出到console的log等级的开关
    consolehandler.setLevel(logging.INFO)
    # 定义handler的输出格式
    formatter = logging.Formatter('%(asctime)s - %(thread)s - %(levelname)s - %(message)s')
    filehandler.setFormatter(formatter)
    consolehandler.setFormatter(formatter)
    # 将logger添加到handler里面
    logger.addHandler(filehandler)
    logger.addHandler(consolehandler)
    return logger

 

调用:

logger=log()
logger.debug("this is debug")
logger.info("this is info")
logger.warning("this is warning")
logger.error("this is error")

 

控制台定义的日记级别是INFO所以此处只显示INFO及以上日志
控制台定义的日记级别是INFO所以此处只显示INFO及以上日志

日志文件定义的是DEBUG,所以记录的是DEBUG及以上的日志
日志文件定义的是DEBUG,所以记录的是DEBUG及以上的日志

 

posted @ 2021-03-23 16:31  清雨染墨衣Y  阅读(105)  评论(0)    收藏  举报