【发布时间】:2022-01-17 15:35:25
【问题描述】:
我已经配置了几个这样的 TimedRotatingFileHandlers。
[loggers]
keys=root
[handlers]
keys=logfile, logfile_errors
[formatters]
keys=logfileformatter
[logger_root]
level=DEBUG
handlers=logfile, logfile_errors
[formatter_logfileformatter]
format=%(asctime)s %(name)-12s: %(levelname)s %(message)s
[handler_logfile]
class=handlers.TimedRotatingFileHandler
level=DEBUG
args=('./logs/log.out','S', 1, 10)
formatter=logfileformatter
[handler_logfile_errors]
class=handlers.TimedRotatingFileHandler
level=ERROR
args=('./logs/errors/log.out','M', 1, 10)
formatter=logfileformatter
但是,当我在不同的分钟内记录这样的事情时
logging.error('MY ERROR')
备份文件(每秒 1 个)是为 logfile 处理程序创建的,但不是为 logfile_errors 处理程序创建的(我希望每分钟有一个备份文件记录错误)。配置处理程序时我做错了吗?
【问题讨论】:
-
这两个处理程序似乎登录到不同的路径。你确定
logs/errors/存在并且是可写的吗? -
@blues 是的,如果我在它们之间切换 M 为 S,则 S 始终是正确的。
-
鉴于这些都在标准库中,您使用的是什么版本的 python?
-
@N1ngu 我正在使用 3.8