对于TimedRotatingFileHandler,"when ='D'"和"when ='midnight'"之间有什么区别?

dae*_*dae 4 python logging

什么之间的区别when='D',并when='midnight'TimedRotatingFileHandler在Python记录模块?
我无法从官方文件中得到它.

Kur*_*hke 15

有两个相关参数TimedRotatingFileHandler:wheninterval.大多数可能的值when(例如D几天或H几小时)与interval- 例如,如果when='D', interval=7已指定- 一起工作,那么日志将每七天轮换一次.同样,如果when='H', interval=12已指定,则日志将每12小时轮换一次,从脚本启动时开始. when='midnight'是一种特殊情况,因为interval不使用该参数,并且无论脚本启动的时间如何,日志都会在午夜每天滚动(请参阅此处的源代码).

  • 好吧,我可能是错的,但即使在“when='midnight'”时,间隔参数似乎也在源代码中使用,请参阅源代码:https://github.com/python/cpython/blob/c879ff247ae1b67a790ff98d2d59145302cd4e4e/Lib/logging/handlers .py#L246 似乎午夜被视为“D”,但具有特定的午夜时间 (3认同)