gpt4 book ai didi

python - 在 TimedRotatingFileHandler 中添加文件扩展名

转载 作者:行者123 更新时间:2023-12-05 01:36:27 25 4
gpt4 key购买 nike

我正在尝试使用 TimedRotatingFileHandler 实现 python 日志记录

我在日志文件名中添加文件扩展名时遇到问题

这是我的代码

Path(".\\Log").mkdir(parents=True, exist_ok=True)
LOGGING_MSG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
LOGGING_DATE_FORMAT = '%m-%d %H:%M:%S'
formatter = logging.Formatter(LOGGING_MSG_FORMAT, LOGGING_DATE_FORMAT)
handler = TimedRotatingFileHandler(".\\Log\\info.log",'midnight',1)
handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
root_logger = logging.getLogger()
root_logger.addHandler(handler)

第一次使用这段代码时,我得到了预期的文件名“info.log”,但是当它滚动到午夜时我得到的文件名是“info.log.2020-05-22”,但我期望的是“info.2020-05-22.log”。

如何在文件扩展名 (.log) 之前附加处理程序后缀?

最佳答案

您应该使用自定义 namer :

handler.namer = lambda name: name + ".log"

不幸的是,namer 函数获取的是经过处理的名称。名称参数类似于 "info.log.2020-05-22",因此您最终会得到 "info.log.2020-05-22.log"。如果双 .log Not Acceptable ,只需删除初始的:

handler.namer = lambda name: name.replace(".log", "") + ".log"

关于python - 在 TimedRotatingFileHandler 中添加文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61948867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com