【问题标题】:TimedRotatingFileHandler not working for minute intervalsTimedRotatingFileHandler 在分钟间隔内不起作用
【发布时间】: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

标签: python logging


【解决方案1】:

我在您的配置中没有看到任何错误...它可以在我的机器上运行 :-)

这是一个最小的工作示例,因此您可以在不进行任何修改的情况下使用您的配置进行检查:

import logging
import logging.config

import time


logging.config.fileConfig('mytestlog.conf')

while True:

  logging.error('other error message')
  time.sleep(0.5);


运行大约 3 分钟后的结果文件:

$ ls logs | sort
errors
log.out
log.out.2022-02-09_09-54-20
log.out.2022-02-09_09-54-21
log.out.2022-02-09_09-54-22
log.out.2022-02-09_09-54-23
log.out.2022-02-09_09-54-24
log.out.2022-02-09_09-54-25
log.out.2022-02-09_09-54-26
log.out.2022-02-09_09-54-27
log.out.2022-02-09_09-54-28
log.out.2022-02-09_09-54-29


$ ls logs/errors/ | sort
log.out
log.out.2022-02-09_09-51
log.out.2022-02-09_09-52

示例内容:

$ cat logs/log.out.2022-02-09_09-54-20 
2022-02-09 09:54:20,109 root        : ERROR other error message
2022-02-09 09:54:20,610 root        : ERROR other error message


$ cat logs/errors/log.out.2022-02-09_09-52 
2022-02-09 09:52:54,367 root        : ERROR other error message
2022-02-09 09:52:54,869 root        : ERROR other error message
2022-02-09 09:52:55,370 root        : ERROR other error message
2022-02-09 09:52:55,872 root        : ERROR other error message
2022-02-09 09:52:56,373 root        : ERROR other error message
2022-02-09 09:52:56,875 root        : ERROR other error message
2022-02-09 09:52:57,376 root        : ERROR other error message
..
..
2022-02-09 09:53:52,536 root        : ERROR other error message
2022-02-09 09:53:53,037 root        : ERROR other error message
2022-02-09 09:53:53,540 root        : ERROR other error message

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2015-03-10
    相关资源
    最近更新 更多