loguru 是一个友好的python 日志库
但目前版本尚存在一些问题,比如:
logger.add创建的文件是根据应用程序的启动时间来旋转的,而不是基于文件的创建日期
比如说你设置一天一次旋转,但是需要你下次程序再次启动和这次程序启动时间差一天才会旋转,而不是程序运行够一天时间就会旋转。
自定义旋转
作者原本的目的是让每次启动应用程序时启动一个新的日志文件(例如,使用log .add(“file_{time}.log”))才有意义。
这样,就不用创建“file_2019-02-18_12:00 -00”。日志”、“file_2019-02-18_13-00-00。日志”、“file_2019 - 02 - 18 - _14 - 00 - 00. -日志”…无限期地,这只保留最新的
但这样显示不符合更高的需求实现,比如说我想实现
一个小时一个日志文件,最近7天的保留, 超过7天的,按天压缩后存储
这样一个小时一个文件的就没办法实现,所以才需要自定义函数,可喜的是logger.add的各个旋转参数都支持传入函数,比如我想实现一个小时一个文件,就可以使用如下代码:
一小时一文件
def should_rotate(message, file):
filepath = os.path.abspath(file.name)