Python Loguru轻松灵活的日志管理库基本用法探索
作者:半个码农
前言
我们在实际项目中,经常需要保持程序运行的日志,数据,错误等,Loguru没出来前我们都是通过 Python 自带的库logging去封装一个打印log的类,然后到处去import 调用,如果想某个程序增加打印log的内容还要去修改封装的logging类,导致会出现很多的logging封装文件出来。刚刚好Loguru的出现解决了。
什么是loguru?
Loguru是一个用于Python的高性能、简洁且灵活的日志库。它的目标是提供一种简单的方式来记录应用程序的运行情况,同时保持代码的简洁性和可读性,本文将探索loguru的基本用法
安装
使用pip来安装loguru库。在你的命令行中输入以下命令
pip install loguru
基本用法
导入loguru
适用3.5及其以上版本
>>> from loguru import logger
log保存的文件
>>> logger.add("D:\logs\logs.log") # 如果logs目录不存在会给你自动创建 1
更灵活的保存日志方式
logger.add("test_1.log", rotation="500 MB") # 日志超过500M 创建新log文件 logger.add("test_2.log", rotation="12:00") # 每天中午12点创建一个新的log文件 logger.add("test_3.log", rotation="1 week") # 文件太旧,自动创建新的 logger.add("test_X.log", retention="10 days") # 10 天后qingl日志 logger.add("test_Y.log", compression="zip") # 保存压缩文件 ,节省空
打印log输出log到文件里面
1 >>> logger.debug("this is debug info") [32m2023-11-23 23:33:26.858[0m | [34m[1mDEBUG [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [34m[1mthis is debug info[0m >>> logger.info("this is info") [32m2023-11-23 23:34:20.482[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [1mthis is info[0m >>> logger.warning("这是一个警告信息") [32m2023-11-23 23:34:37.977[0m | [33m[1mWARNING [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [33m[1m这是一个警告信息[0m >>> logger.error("这是个错误信息") [32m2023-11-23 23:36:32.399[0m | [31m[1mERROR [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [31m[1m这是个错误信息[0m >>> logger.critical("这是个严重错误信息") [32m2023-11-23 23:37:05.448[0m | [41m[1mCRITICAL[0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [41m[1m这是个严重错误信息[0m >>> logger.info("i using Python {}, support {feature} !", 3.9, feature="f-strings") #格式化输出 [32m2023-11-25 09:19:50.034[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [1mi using Python 3.9, support f-strings ![0m 以
以上是在python idle里面执行的,不会显示样式,看下面截图,在cmd里面执行的
捕获异常
>>> @logger.catch def fun(x,y):return x/y >>> fun(1,0)
设置日志级别
怎么添加handler、如何设置日志格式、怎么添加过滤消息和设置日志级别,一个logger.add()帮忙你搞定
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
总结
Python loguru有以下优点
简单易用:Loguru 提供了简洁明了的 API,只需导入模块,一行代码即可调用。
灵活性:Loguru 支持多种输出方式(如控制台、文件等),并且可以自定义输出格式和级别。
高效性:Loguru 使用了异步 I/O 技术,可以提高日志记录的效率。
兼容性:Loguru 兼容 Python 3.5+ 版本,可以在各种环境下使用。
功能丰富:Loguru 支持多种日志级别、过滤器、上下文管理,捕获异常等功能,可以满足不同场景的需求
更多的用法参考:
github: https://github.com/Delgan/loguru
官方文档:https://loguru.readthedocs.io/en/stable/index.html
以上就是Python Loguru轻松灵活的日志管理库基本用法探索的详细内容,更多关于Python Loguru日志管理库的资料请关注脚本之家其它相关文章!