python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Loguru日志管理库

Python Loguru轻松灵活的日志管理库基本用法探索

作者:半个码农

Loguru是一个用于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有以下优点

更多的用法参考:

github: https://github.com/Delgan/loguru 

官方文档:https://loguru.readthedocs.io/en/stable/index.html

以上就是Python Loguru轻松灵活的日志管理库基本用法探索的详细内容,更多关于Python Loguru日志管理库的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文