Loguru
如果你还在使用logging
,不妨花点时间来看看Loguru
,Loguru
是一个Python日志记录的库。
您是否曾懒于配置记录器而使用print()?。。。
我确实这样做了,但日志记录对于每个应用程序来说都是基本的,可以简化调试过程。使用Loguru
,您从一开始就没有理由不使用日志记录,这就像使用Loguru导入记录器一样简单。
此外,这个库还打算通过添加一系列有用的功能来解决标准日志记录器的警告,从而减少Python日志记录的痛苦。在应用程序中使用日志应该是一种自动化,Loguru试图让它既令人愉快又强大。
安装
Loguru
安装简单极了,只是他需要3.5
以上的python 才能够使用。
pip install loguru
使用示例
Loguru
的使用像极了logging
,但是他更为方便,可以帮我们处理logging
对日志处理遗留下的很多问题。
from loguru import logger
logger.debug("That's it, beautiful and simple logging!")
输出的日志如下:
2022-10-12 07:16:35.085 | DEBUG | __main__:<module>:1 - That's it, beautiful and simple logging!
这就是我们默认的日志的格式,那我们如果自己定义自己的格式呢?
用add()
函数
比如我们觉得,时间的格式,我们不需要那么精确,我们只要到秒就可以了,DEBUG
的级别也不需要打印,那么我们可以这样添加一条打印的格式:
logger.add(sys.stderr, format="{time:YYYY-MM-DD HH:mm:ss} {message}")
这样打印一条数据后,会出现如下的记录:
2022-10-12 07:31:34.514 | INFO | __main__:<module>:1 - That's it, beautiful and simple logging!
2022-10-12 07:31:34 That's it, beautiful and simple logging!
看,这里有两条记录,第一条就是我们默认的格式,第二条就是我们新加入的格式了。如果指向打印一条日志,那该如何设置。
使用remove
。
有add
,就对应着remove
。
logger.remove(0)
这样就比较明白了,remove
可以用来清除以前的添加的内容。
如果我们想把记录添加在文件中,我们该如何使用呢?
也是使用add
。
logger.add("file_{time}.log")
这样我们就会生成如下的日志,file_2022-10-12_06-18-41_727425.log
对日志的处理:
logger.add("file_1.log", rotation="500 MB") # 大于500M自动分割
logger.add("file_2.log", rotation="12:00") # 每天12点的时候分割日志
logger.add("file_3.log", rotation="1 week") # 一星期分割日志
logger.add("file_X.log", retention="10 days") #10天分割日志
logger.add("file_Y.log", compression="zip") # 节省空间
Loguru
在这里基本就够用了,如果还需要用到更多的功能可以继续参考文档。