找回密码
 会员注册
查看: 36|回复: 0

Pythonlogging.handlers模块,RotatingFileHandler、TimedRotatingFileHandler处理器各参数详细介绍

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-4 22:10:47 | 显示全部楼层 |阅读模式
文章目录一、RotatingFileHandler介绍二、TimedRotatingFileHandler介绍在python的logging.handlers模块中,提供了很多有用的日志处理程序对象,其中比较常用的有:RotatingFileHandler、TimedRotatingFileHandler。这两个处理程序主要是用来对输出的日志文件进行切割。一、RotatingFileHandler介绍RotatingFileHandler是Python自带的日志处理器之一,用于将日志写入到指定的文件中,并控制文件大小和数量,可实现日志轮转(即备份旧日志并创建新的日志)。classlogging.handlers.RotatingFileHandler(filename,mode='a',maxBytes=0,backupCount=0,encoding=None,delay=False)RotatingFileHandler的各参数解释:filename:文件名,指定日志文件的路径和名称;mode:模式,可选值为‘a’或‘w’。当为‘a’时,表示以追加方式写入日志;当为‘w’时,表示以覆盖方式写入日志。默认值为‘a’;maxBytes:单个日志文件的最大大小,单位为字节。当日志文件达到该大小时,会自动备份旧日志并创建新的日志文件。默认值为0,表示不限制日志文件大小。;backupCount:备份文件数目。当生成的日志文件数量超过该数目时,会自动删除旧的备份日志文件。默认值为0,表示不备份;encoding:日志文件的编码格式,默认为None,表示使用系统默认编码;delay:是否延时打开文件,可选值为True和False。当为True时,表示延时打开文件,即在第一次写入日志时才打开日志文件。当为False时,表示在初始化时即打开日志文件。默认值为False默认情况下,文件无限增长。您可以指定maxBytes和backupCount的特定值,以允许文件以预定的大小滚动。需要注意的是,如果指定了为maxBytes指定了>0的值,则mode指定为w是没有意义的,RotatingFileHandler初始化时会自动将mode强制改为a示例1:importloggingfromlogging.handlersimportRotatingFileHandlerlogger=logging.getLogger('mylogger')logger.setLevel(logging.INFO)handler=RotatingFileHandler(filename='test.log',maxBytes=6,backupCount=3)logger.addHandler(handler)foriinrange(10):logger.info("Hello%d"%i)123456789101112'运行运行输出4个日志文件,文件名及文件内容分别如下:#test.logHello9#test.log.1Hello8#test.log.2Hello7#test.log.3Hello61234567891011解释:文件最新内容始终输出在test.log基本日志文件中;test.log大小达到设定的maxBytes时,如果再有日志写入,则新生成一个test.log,并将原来的test.log重命名为test.log.1,将原来的test.log.1(如果有)重命名为test.log.2,将原来的test.log.2(如果有)重命名为test.log.3,将原来的test.log.3(如果有)删除(因为只备份3个)二、TimedRotatingFileHandler介绍TimedRotatingFileHandler是Python自带的日志处理器之一,与RotatingFileHandler类似,也用于将日志写入到指定的文件中,并对文件进行切割。不同的是TimedRotatingFileHandler可以按照时间轮转日志,例如每天或每小时生成一个新的日志文件。classlogging.handlers.TimedRotatingFileHandler(filename,when='h',interval=1,backupC
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-3 00:45 , Processed in 0.558354 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表