Python:如何使用日志记录模块每天创建日志文件?

新手上路,请多包涵

我是 python 的日志记录模块的新手。当我的应用程序处于运行状态时,我想每天创建一个新的日志文件。

 log file name - my_app_20170622.log
log file entries within time - 00:00:01 to 23:59:59

第二天我想用第二天的日期创建一个新的日志文件 -

 log file name - my_app_20170623.log
log file entries within time - 00:00:01 to 23:59:59

我正在使用 python 的日志记录模块。

我正在使用如下 -

 log_level = int(log_level)
logger = logging.getLogger('simple')
logger.setLevel(log_level)
fh = logging.FileHandler(log_file_name)
fh.setLevel(log_level)
formatter = logging.Formatter(log_format)
fh.setFormatter(formatter)
logger.addHandler(fh)

他们是否在 python 的日志记录模块中进行了任何配置以每天创建日志?

原文由 ketan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 784
1 个回答

您必须创建一个 TimedRotatingFileHandler

 from logging.handlers import TimedRotatingFileHandler
logname = "my_app.log"
handler = TimedRotatingFileHandler(logname, when="midnight", interval=1)
handler.suffix = "%Y%m%d"
logger.addHandler(handler)

这段代码将创建一个 my_app.log 但当当天在午夜结束时,日志将被移动到名为 my_app.log.20170623 的新日志文件。

我希望这有帮助。

原文由 Adrian Antunez 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题