1 # 1、负责往控制台里面输出日志信息的 2 # 2、往日志文件里面写日志的,按天生成日志,清理日志 3 import logging 4 from logging import handlers 5 6 logger = logging.getLogger() #先实例化一个logger对象,先创建一个办公室 7 #logger.setLevel(logging.DEBUG) #设置日志的级别:DEBUG、INFO、WARNING、ERROR四个级别 8 console_handler = logging.StreamHandler() #控制台 9 file_handler = handlers.TimedRotatingFileHandler(filename='a.log',when='M',interval=1,backupCount=5,encoding='utf-8') #文件 10 # when,按什么单位 11 #S 秒 12 # M 分 13 # H 小时 14 # D 天 15 # W 每星期(interval==0时代表星期一) 16 # filename:日志文件名的prefix 17 # backupCount:表示日志文件的保留个数 18 fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s') #指定日志的格式 19 console_handler.setFormatter(fmt) #设置控制台输出的日志格式 20 file_handler.setFormatter(fmt) #设置文件里面写入的日志格式 21 logger.addHandler(console_handler) #控制台handler对象加入到日志对象 22 logger.addHandler(file_handler) #把操作文件的handler加入到日志对象 23 24 #输出错误和警报日志信息,不需要设置日志的级别 25 #输出debug和info信息时,需要设置日志的级别,否则不会输出info和debug的信息 26 logger.warning('我是warning。。。') 27 logger.error('我是error。。。') 28 logger.debug('我是debug。。。') 29 logger.info('我是info。。。') 30 31 #运行结果:控制台和文件中都输出了日志信息