灵活运用日志轮转,我又变强了

在实现日志轮转之前,我们首先要明白什么是日志轮转?在大多数后台服务运行时,会生成大量的日志记录,而这些记录并不是所有都需要永久保存,那么我们就可以采用日志轮转的方式,使用新的日志覆盖掉最旧的日志,并采用多个文件循环存储,方便更加快捷的定位到我们所需的内容。

不会实现基本的日志记录?可参考《logging日志记录模块,你想要的在这里 》,

在Python中,日志轮转仍然引用logging模块中封装好的类,常用的轮转方式有两种:

第一种:按照时间轮转,即每隔一段时间,生成一个新的日志文件,直到设定的最大文件个数,然后开始循环

第二种:按照文件大小轮转,及给每个文件设置一个存储大小,直到设定的最大文件个数,然后开始循环

 

日志轮转与普通日志记录虽然输出渠道都是文件,但它们调用的类不同,接下来就来看看这两种轮转方式的代码,

1、时间轮转

from logging.handlers import RotatingFileHanler
file_handler = RotatingFileHanler(
    filename='test.log',
    encoding='utf-8 ,
    when='D',
    interval=3,
    backupCount=7
)

上面代码表示每个3天新建一个日志文件,最多可以备份7个。

 

2、文件大小轮转

from logging.handlers import TimedRotatingFileHandler
fh = TimedRotatingFileHandler(
    filename='test.log',
    encoding='utf-8',
    mode='a',
    maxBytes=1024*1024*50
    backupCount=7
)

上面代码表示每个日志文件可存储50M的内容,最多可以备份7个。

posted @ 2020-02-24 21:36  suanmiao  阅读(349)  评论(0)    收藏  举报