python - 在 python 日志记录模块中强制进行日志轮换
问题描述
如果我有一个旋转的日志文件。(logging_file.log) 在满足 x 条件时旋转。如何让它旋转?我知道当大小超过一定数量时,旋转日志模块会自动旋转,但是对于不是大小的不同条件,如何在日志模块中进行这种旋转。或者,无论出于何种原因,我如何强制它将日志记录旋转到一个新的日志记录文件中。有这个功能或命令吗?简单地说,如果我想使用更新的日志文件并存档旧的日志文件,我该如何手动轮换日志文件。就像是
if lines_in_file > 3
rotate()
[注意:使其旋转的条件无关紧要,但我试图询问什么功能将使这种旋转发生。是否有一个简单的功能可以完成旋转的工作?
解决方案
RotatingFileHandler
当您配置记录器时,您应该(或可以保存)对 from 的适当实例的引用。你只需要调用它的doRollover
方法:
rfh = RotatingFileHandler('foo.log')
...
rfh.doRollover()
更一般地,RotatingFileHandler.doRollover
使用BaseRotatingHandler.rotate
,它采用源文件名和目标文件名。rotate
要么rotator
使用相同的参数调用处理程序的属性,要么只是将源移动到目标。
推荐阅读
- flutter - pumpAndSettle 超时 Mockito Flutter
- html5-video - 在 html5 中播放 hls 的正确 url
- entity-framework-core - Asp.Net Core HealthChecks 并发实体框架 DbContext 错误
- xcode - 使用 CleanMyMac 后,我的 xcode 变慢了
- pandas - 获取每行多列的平均值,不包括带有熊猫的特定列
- python - 类“list”的未解析属性引用“find_all”
- r - 错误:pandoc 文档转换失败,错误 4
- go - 添加 goroutine 并发以提高代码效率
- mysql - 在cmd中使用gcc运行c文件时找不到mysql.h头文件
- wpf - 如何设置 MenuItems 以适应菜单中的相等空间?