python使用logging实现日志前台和文件输出

同时输出到前台和文件(滚动覆盖)

import os
import logging
import time
from logging.handlers import RotatingFileHandler


def login(mm):
    log = logging.getLogger()
    log.setLevel(logging.NOTSET)
    rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
    log_path = os.path.dirname(os.getcwd()) + '/Logs/'
    log_name = log_path + 'log.log'
    logfile = log_name
    # fsc = logging.FileHandler(logfile, mode='w') # 不循环回滚日志
    fsc = RotatingFileHandler(logfile, maxBytes=1, backupCount=2)  # 循环回滚日志,最大1kb,最多保留2个备份
    fsc.setLevel(logging.NOTSET)

    ch = logging.StreamHandler()  # 创建输出到前台的handler
    ch.setLevel(logging.NOTSET)  # 定义日志显示级别为无级别

    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s:%(message)s")
    fsc.setFormatter(formatter)
    ch.setFormatter(formatter)

    log.addHandler(fsc)
    log.addHandler(ch)

    log.debug(mm)
    # log.info('this is a logger info message')
    # log.warning('this is a logger warning message')
    # log.error('this is a logger error message')
    # log.critical('this is a logger critical message')


版权声明:本文为weixin_42891455原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。