python - 如何使用 Python 中的日志记录在日志文件中添加当前日期作为前缀
问题描述
我想使用 Python 的logging
库根据当前日期命名日志文件,例如以下示例:
log/
06-06-2019.log
07-06-2019.log
08-06-2019.log
但是,我能够编写的代码...
handler = TimedRotatingFileHandler(
'log/log',
when = 'midnight',
interval = 1,
utc = True,
backupCount = 9
)
...产生这些日志文件:
log/
log
log.2019-06-06
log.2019-06-07
log.2019-06-08
是否有任何事件来计算文件名?我已经阅读了许多 SO 问题和官方文档,但没有发现对这个问题有用。
我该如何解决这个问题?如果可能的话,我想要一个使用logging
库的解决方案。
提前致谢 :)
解决方案
我建议这样做:
from datetime import date
log_file = "../Path/To/Logs/Folder/log-" + date.today() + ".log"
logger = open(log_file, "w+")
logger.close() # Do this to make sure python let's go of the file.
这样做是创建一个以log-year-month-date.log
您选择的路径命名的日志文件,只要该文件不存在。但是,python 会保留该文件,因此您需要close()
在开始登录之前保存它。
希望有帮助!
推荐阅读
- html - 在嵌套“详细信息”中打开带有锚点的页面时如何扩展详细信息/摘要?
- android - 像新 Gmail 一样的透明白色工具栏
- python - Pandas DataFrame 中的前导和尾随填充日期
- amazon-web-services - 将消息从托管在 S3 中的网页发送到 SQS 队列
- kubernetes - 如何使用 HPA 实现蓝绿部署?
- inno-setup - 为什么 Inno Setup 常量 {userdesktop} 在 OutputDir 指令中不起作用以及如何修复它?
- node.js - 如何让我的 nodejs 应用程序部署加载下一个构建资源(404 控制台错误将我的网站中的所有反应组件剥离)
- c# - CertOpenStore“内存”返回文件未找到
- c++ - 如何用包作为模板参数实例化专门的模板类?
- c - 为什么这个计数排序返回输入而不是排序表?