据我所知,限制 python 中的日志文件大小可以通过RotatingFileHandlerand it's attribute来完成maxBytes。
为了测试这一点,我编写了以下脚本:
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger("Rotating Log")
logger.setLevel(logging.INFO)
# add a rotating handler
handler = RotatingFileHandler("test.log", maxBytes=1)
logger.addHandler(handler)
x = 0
while True:
x += 1
logger.info(x)
尽管日志文件不应超过 1 个字节,但它很快就会增加到许多兆字节。我该如何限制这个?可悲的是,文档非常糟糕。我还想知道如何确保每次重新运行 python 脚本时,日志文件都会被清除并重新启动,但是,在文档中它只是说
class logging.handlers.RotatingFileHandler(filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=False)
If mode is not specified, 'a' is used.
但是,它没有说明除了“a”之外还有哪些其他选项。
总结一下问题
如何将日志文件大小限制为 10 MB
如果运行脚本,如何确保启动新的日志文件,而不是附加旧的日志文件
编辑:我尝试使用 maxBytes=1000000,但结果保持不变。日志文件不断变大
蛊毒传说
相关分类