举例:
# 1、办公室
# 2、负责往控制台里面输出日志信息的
# 3、往日志文件里面写日志的,按天生成日志,清理日志
import logging #导入日志模块 from logging import handlers logger = logging.getLogger() #先实例化一个logger对象,先创建一个办公室 logger.setLevel(logging.DEBUG) #设置日志的级别的人 cl = logging.StreamHandler() #负责往控制台输出的人,控制台输出 bl = handlers.TimedRotatingFileHandler(filename='a.log',when='S',interval=1,backupCount=3,encoding='utf-8') # when,按什么单位(每秒),interval,间隔多久,backupCount,备份几份日志 #S 秒 # M 分 # H 小时、 # D 天、 # W 每星期(interval==0时代表星期一) fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s') cl.setFormatter(fmt) #设置控制台输出的日志格式 bl.setFormatter(fmt) #设置文件里面写入的日志格式 logger.addHandler(cl) #把已经调教好的人放到办公室里 logger.addHandler(bl) ##把已经调教好的人放到办公室里 #指定日志的格式 logger.debug('我是debug。。。') logger.warning('我是waring。。。')
结果:
生成的日志文件:a.log,(每秒运行一次的话,每次可以生产一份备份文件)三份备份: