python logging文件老化机制
时间: 2023-11-16 18:19:16 浏览: 49
Python logging模块提供了一些机制来控制日志文件的大小和保存时间,从而避免文件过大或者存储时间过长导致的问题。
其中,文件大小可以通过设置RotatingFileHandler的maxBytes属性来控制。当日志文件达到指定大小时,会自动切分成多个文件,以数字序号进行区分,例如:log.txt, log.txt.1, log.txt.2, ...。
文件保存时间可以通过设置TimedRotatingFileHandler的when属性来控制。when属性可以设置为以下值:
- 'S': 每秒钟切分一次
- 'M': 每分钟切分一次
- 'H': 每小时切分一次
- 'D': 每天切分一次
- 'W': 每周切分一次
- 'midnight': 每天午夜切分一次
同时,可以通过设置backupCount属性来控制保留的文件数量。当文件数量超过指定数量时,最老的文件会被删除。
例如,以下代码会创建一个每天切分一次,保留7天日志文件,并且每个文件大小不超过1MB的RotatingFileHandler:
```
import logging
from logging.handlers import TimedRotatingFileHandler
handler = TimedRotatingFileHandler('log.txt', when='D', backupCount=7)
handler.maxBytes = 1024 * 1024 # 1MB
handler.setLevel(logging.INFO)
logger = logging.getLogger()
logger.addHandler(handler)
logger.info('hello world')
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![html](https://img-home.csdnimg.cn/images/20210720083451.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)