当前位置:   article > 正文

loguru的简单使用_loguru使用

loguru使用

详细使用:Table of contents — loguru documentation

【1】日志的级别

  • 日志级别默认分为6种
    • 1、NOTSET (0)
    • 2、DEBUG  (1)
    • 3、INFO  (2)
    • 4、WARNING  (3)
    • 5、ERROR    (4)
    • 6、CRITICAL   (5)

'''logging 执行时输出大于等于设置的日志级别的日志信息,如设置日志级别是 INFO,则 INFO、WARNING、ERROR、CRITICAL 级别的日志都会输出。'''

【2】安装loguru

loguru仅支持python 3.5及以上的版本,使用pip指令安装即可

安装的命令:

        

pip install loguru

【3】loguru的简单使用

在 loguru 中有且仅有一个对象:logger,因此使用时,只需要导入logger即可

        

  1. from loguru import logger
  2. # 代码演示:
  3. from loguru import logger
  4. logger.debug('今天天气不错')

【4】创建日志,并将日志写入日志文件

  1. from loguru import logger
  2. logger.add('文件名')
  3. # 例:logger.add('index.log')

【5】add()/remove()

add() --------- 自定义日志级别,自定义日志格式,保存日志到文件

  

创建日志文件的时候,可以通过添加占位符的方式,添加文件的日期


remove() --------- 删除我们添加的配置

【6】add()语句的常用参数

        【6.1】rotation参数

rotation参数:

        可以是实现按照固定时间创建新的日志文件 

1、设置每天0点创建一个新的log文件

logger.add('runtime_{time}.log',rotation='00.00')

2、设置超过 500 MB 新创建一个 log 文件:

logger.add('runtime_{time}.log', rotation="500 MB")

3、设置每隔一个周新创建一个 log 文件:

logger.add('runtime_{time}.log', rotation='1 week')

        【6.2】retention 指定日志保留时长

通过配置retention参数,可以指定日志的保留时长:

        

logger.add("file_X.log", retention="10 days")

通过上面的配置,就可以指定日志最多保留10天,每隔10天之后就会清理旧的日志,这样就不会造成内存浪费。

        【6.3】compression 配置文件压缩格式

通过配置compression参数可以指定日志文件的压缩格式:

        

  1. logger.add("file_Y.log", compression="zip")
  2. '''
  3. 通过上面的配置,可以指定日志文件的压缩格式为zip格式,可以节省存储空间。
  4. '''

        【6.4】字符串格式化

Loguru 在输出 log 的时候还提供了非常友好的字符串格式化功能,相当于 str.format()

        

logger.info('If you are using Python {}, prefer {feature} of course!', 3.6, feature='f-strings')

输出结果:

        

2021-10-19 14:59:06.412 | INFO     | __main__:<module>:3 - If you are using Python 3.6, prefer f-strings of course!

        【6.4】异常捕获

                方式一:catch装饰器 方法

  1. from loguru import logger
  2. logger.add("runtime.log")
  3. @logger.catch
  4. def my_function(x, y, z):
  5. return 1 / (x + y + z) # An error? It's caught anyway!
  6. my_function(0, 0, 0)
  7. '''
  8. 上面的代码中,通过catch装饰器对函数my_function进行装饰,这样,当该函数出现异常时,就会打印出异常日志信息
  9. '''

结果:

        

                方式二:exception 方法

  1. from loguru import logger
  2. logger.add("runtime.log")
  3. def my_function1(x, y, z):
  4. try:
  5. return 1 / (x + y + z)
  6. except ZeroDivisionError:
  7. logger.exception("What?!")
  8. my_function1(0, 0, 0)

结果显示:

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/953279
推荐阅读
相关标签
  

闽ICP备14008679号