所以我想限制我的log
文件。
import logging
import colorlog
from logging.handlers import RotatingFileHandler
def init_logger(dunder_name, testing_mode) -> logging.Logger:
log_format = '[%(asctime)s]: [%(levelname)s]: %(message)s'
bold_seq = '\033[1m'
colorlog_format = (
f'{bold_seq} '
'%(log_color)s '
f'{log_format}'
)
logFile = 'app.log'
colorlog.basicConfig(format=colorlog_format)
handler = RotatingFileHandler(logFile, mode='a', maxBytes=50, backupCount=0, encoding=None, delay=0)
logger = logging.getLogger(dunder_name)
if testing_mode:
logger.setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
formatter = logging.Formatter(log_format)
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
在定义maxBytes=50
i cen 后看到我的日志文件继续增长(4MB
此时)
我做错了什么?
因为backupCount
是0
。
每当当前日志文件的长度接近 maxBytes 时,就会发生翻转;但是如果 maxBytes 或 backupCount 中的任何一个为零,则不会发生翻转,因此您通常希望将 backupCount 设置为至少 1,并且有一个非零的 maxBytes。
https://docs.python.org/3/library/logging.handlers.html#logging.handlers.RotatingFileHandler
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句