前言:
loguru 库的使用可以说是十分简单,我们直接可以通过导入它本身封装好的logger 类就可以直接进行调用。
loguru 本身就是一个已经实例化好的对象,如果没有特殊的配置需求,那么自身就已经带有通用的配置参数;同时它的用法和logging库输出日志时的用法一致。
loguru 支持输出到多个文件,分级别分别输出,过大创建新文件,过久自动删除等等。
1、安装loguru:
pip install loguru
2、基础用法:
from loguru import logger
logger.info("这是一条普通级别的日志")
logger.debug("这是一条调试级别的日志")
logger.warning("这是一条警告级别的日志")
logger.error("这是一条错误级别的日志")
logger.critical("这是一条崩溃级别的日志")
直接运行,控制台输出结果为:
可以看到,日志很清晰且用不同的颜色进行了标注,这也是优势于logging模块的一点。
3、简单实例:
捕获异常后打印日志
from loguru import logger
def fun1(a,b):
return a/b
try:
fun1(2,0)
except ZeroDivisionError:
logger.exception('0不能作为分母')
结果为
4、输出日志到文件:
很多时候我们都希望日志信息存在文件内,以便统一查看,而不是输出在控制台 就可以用add()方法
from loguru import logger
import os
if not os.path.exists("./log"):
os.mkdir("./log") # 如果目录下没有log文件,则新建一个
logfile = "./log/log1.log" # 确定好我们的日志文件 log1.log
logger.remove(handler_id=None) # 不在控制台打印
logger.add(logfile,
rotation='100KB', # 拆分日志文件,日志达到100KB以上就会生成新的日志文件
compression='zip', # 配置文件的压缩格式,以zip文件格式保存
encoding='utf_8') # 编码格式用‘utf-8'
for i in range(10000):
logger.info(f'第{
i}条日志') # 写入一万条日志
生成的日志文件
解压后,文件内容为: