Python漂亮专业的日志库,告别logging繁琐配置

选择loguru日志库原因以及安装

Python漂亮专业的日志库,告别logging繁琐配置

在编写Py代码的时候,我们是否经常喜欢在代码中使用print方法来查看某个值是否符合我们的预期,或者是给咱们开发留个提示语句好方便来检查业务逻辑是否正常?其实这是很多新入门的小白都喜欢的方式。其实大家应该都使用过logging,自带的logging库其实已经很完善了,但是我发现我使用Loguru库后运行更流畅(心里作用),但是最主要的是觉得logging配置起来太麻烦。所以我今天给大家推荐loguru。

#首先先下载loguru库
pip3 install loguru
#测试
from loguru import logger

Python漂亮专业的日志库,告别logging繁琐配置

下载loguru库并测试

loguru日志库使用

先来感受一下,最基础的用法。

from loguru import logger
 #今天是女神节,就祝大家节日快乐
logger.debug('HAPPY WOMENS DAY! ')
logger.debug('HAPPY WOMENS DAY! ')
logger.debug('HAPPY WOMENS DAY! ')

很简单,只需要引入logger,然后直接调用它的debug方法即可。上面调用后的结果如下图所示

Python漂亮专业的日志库,告别logging繁琐配置

由于在 loguru库 里,有且仅有一个主要的logger对象 ,并且它已经提前配置了一些我们常用的基础信息,比如日志的文本颜色信息,日志字符格式化等等。因为我们上面没有做任何配置,所以看起来只有日期时间,然后就是打印信息,并且只是输出在控制台中,所以我们要给它加一些具体的参数即可。

比如,我 们可以让日志输出到具体指定的位置,而不用像logging原生库配置FileHandler了。只需要调用logger对象的add方法即可,方法传参为日志文件的具体地址。womensDay.log就是咱们指定的日志输出文件,文件中的内容是HAPPY WOMENS DAY!,提示如果你们按照我的方式测试,生产的文件路径在C:UsersAdministrator下面

from loguru import logger
logger.add('womensDay.log')
logger.debug('HAPPY WOMENS DAY! ')

我们来研究一下add方法的其他参数,首先来看一下源码。通过它的源码我们可以看到它提供了很多参数供我们选择,比如日志级别Level,格式化format,过滤器filter等等

Python漂亮专业的日志库,告别logging繁琐配置

咱们可以看一下,日常工作中常用的format功能的使用,{}中间对应的是3.8号,{祝福}是后面定义的参数名称,是不是使用很方便呢?

from loguru import logger
logger.add('runtime.log', format="{time} {level} {message}", filter="my_module", level="INFO")
logger.info('今天{}号是女神节!祝大家{祝福}', 3.8, 祝福='节日快乐')

Python漂亮专业的日志库,告别logging繁琐配置

上面代码运行结果参考图

最后一个非常好的捕获异常打印日志的方式,直接在咱们定义的方法上面添加一个注解即可

@logger.catch
def div_zero (x, y):
    # 看看是否能够捕获到异常Y=0的异常
    return x/ (y)

我们定义了一个除法计算的方法,然后我们传一个4,2;再传一个4,0做比较。运行结果如下图,已经捕获到了除数为0的异常,所以咱们loguru还是强大吧!

Python漂亮专业的日志库,告别logging繁琐配置

结语

其实我今天只是给大家介绍了一下loguru常用的一些方法,这些方法在咱们日常工作中基本够用,也可以刚入门被logging的各项配置整懵逼的小白。还有很多功能请大家参考源码以及官方文档进行学习。

声明:本文由会火号官方原创,如若转载,请注明出处:https://www.huihuohao.com/s/2379.html

发表评论

登录后才能评论