python - TimedRotatingFileHandler 更改文件名?

标签 python logging

我正在尝试实现 python 日志记录处理程序 TimedRotatingFileHandler

当它滚动到午夜时,它会以 YYYY-MM-DD 的形式附加当前日期。

LOGGING_MSG_FORMAT  = '%(name)-14s > [%(levelname)s] [%(asctime)s] : %(message)s'
LOGGING_DATE_FORMAT = '%Y-%m-%d %H:%M:%S'

logging.basicConfig(
            level=logging.DEBUG,
            format=LOGGING_MSG_FORMAT,
            datefmt=LOGGING_DATE_FORMAT
            )
root_logger = logging.getLogger('')
logger = logging.handlers.TimedRotatingFileHandler("C:\\logs\\Rotate_Test",'midnight',1)
root_logger.addHandler(logger)
while True:
    daemon_logger = logging.getLogger('TEST')
    daemon_logger.info("SDFKLDSKLFFJKLSDD")
    time.sleep(60)

创建的第一个日志文件名为 Rotate_Test,然后在滚动到第二天后将文件名更改为 Rotate_Test.YYYY-MM-DD,其中 YYYY-MM-DD 是当前日期。

我怎样才能改变它改变文件名的方式?

最佳答案

“我怎样才能改变它改变文件名的方式?”

由于没有记录,我选择阅读源代码。这是我通过阅读 logging/handlers.py

的源代码得出的结论
handler = logging.handlers.TimedRotatingFileHandler("C:\\isis_ops\\logs\\Rotate_Test",'midnight',1)
handler.suffix = "%Y-%m-%d" # or anything else that strftime will allow
root_logger.addHandler(handler)

后缀是格式化字符串。

关于python - TimedRotatingFileHandler 更改文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338450/

相关文章:

python - 如何为由换行符生成的p元素添加类?

python - matplotlib 箱线图中 'label' 属性有什么用?

python - scikit-learn 中的多标签编码

logging - 将用户IP保存一天以防止多次提交是个好主意吗?

c# - Python在C#中的unpack函数

python - 如何为编写器/解析器编写测试? (Python)

logging - 试图理解 tomcat hs_err_pid 日志

java - 无法使用 log4j2 写入日志

java - 如何允许从 shutdownHook 登录任何类

unit-testing - 如何在grails test-app中查看网络流量? -也许是RESTClient日志记录?