库会判断是否有超过这个3,若超过,则会从最先创建的开始删除。
#!/usr/bin/env python3
import time
import logging
import logging.handlers
# logging初始化工作
logging.basicConfig()
# myapp的初始化工作
myapp = logging.getLogger('myapp')
myapp.setLevel(logging.INFO)
# 添加TimedRotatingFileHandler
# 定义一个1秒换一次log文件的handler
# 保留3个旧log文件
filehandler = logging.handlers.TimedRotatingFileHandler("logs/myapp.log", when='S', interval=1, backupCount=3)
# 设置后缀名称,跟strftime的格式一样
filehandler.suffix = "%Y-%m-%d_%H-%M-%S.log"
myapp.addHandler(filehandler)
while True:
time.sleep(0.1)
myapp.info("test")
这个配置是可以生效的,符合预期
#!/usr/bin/env python3
import time
import logging
import logging.handlers
# logging初始化工作
logging.basicConfig()
# myapp的初始化工作
myapp = logging.getLogger('myapp')
myapp.setLevel(logging.INFO)
# 写入文件,如果文件超过100个Bytes,仅保留5个文件。
handler = logging.handlers.RotatingFileHandler(
'logs/myapp.log', maxBytes=100, backupCount=5)
# 设置后缀名称,跟strftime的格式一样
myapp.addHandler(handler)
while True:
time.sleep(0.01)
myapp.info("file test")