详细使用: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即可
from loguru import logger# 代码演示:from loguru import loggerlogger.debug('今天天气不错')
【4】创建日志,并将日志写入日志文件
from loguru import loggerlogger.add('文件名')# 例: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参数可以指定日志文件的压缩格式:
logger.add("file_Y.log", compression="zip")''' 通过上面的配置,可以指定日志文件的压缩格式为zip格式,可以节省存储空间。 '''
【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装饰器 方法
from loguru import loggerlogger.add("runtime.log") @logger.catch def my_function(x, y, z):return 1 / (x + y + z) # An error? It's caught anyway!my_function(0, 0, 0)''' 上面的代码中,通过catch装饰器对函数my_function进行装饰,这样,当该函数出现异常时,就会打印出异常日志信息'''
结果:
方式二:exception 方法
from loguru import loggerlogger.add("runtime.log") def my_function1(x, y, z):try:return 1 / (x + y + z)except ZeroDivisionError:logger.exception("What?!")my_function1(0, 0, 0)
结果显示: