Python开发之日志记录模块:logging(9)

上述程序执行后,将持续在控制台输出所有的日志记录,日志记录文件有三个,循环向日志文件中写入日志,当文件大小达到1kb时,开始在另一个文件删除日志记录,并写入新的日志记录。

(2)根据时间进行回滚。

按文件时间回滚的类时TimeRotatingFileHandler,这一个类包含以下参数:

filename :输出日志文件名的前缀,比如main.log

when 是一个字符串的定义如下:

“S”: Seconds

“M”: Minutes

“H”: Hours

“D”: Days

“W”: Week day (0=Monday)

“midnight”: Roll over at midnight

interval 是指等待多少个单位when的时间后

 

import time import logging import logging.handlers # logging初始化工作 logging.basicConfig() # logger的初始化工作 logger = logging.getLogger('main') logger.setLevel(logging.INFO) # 添加TimedRotatingFileHandler # 定义一个1秒换一次log文件的handler # 保留3个旧log文件 timefilehandler = logging.handlers.TimedRotatingFileHandler(".log", when='S', interval=1, backupCount=3) # 设置后缀名称,跟strftime的格式一样 timefilehandler.suffix = "%Y-%m-%d_%H-%M-%S.log" formatter = logging.Formatter('%(asctime)s|%(name)-12s: %(levelname)-8s %(message)s') timefilehandler.setFormatter(formatter) logger.addHandler(timefilehandler) while True: time.sleep(0.1) logger.debug("debug") logger.info("info") logger.warning("warning") logger.critical("critical")

5 总结

本篇系统得总结了Python内容的日志记录模块logging的用法,囊括了logging的大部分内容。掌握本篇内容,感觉在开发中基本没有问题。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d642fc980407ebf79378f34feecfa099.html