Python Loguru輕松靈活的日志管理庫基本用法探索
前言
我們在實(shí)際項(xiàng)目中,經(jīng)常需要保持程序運(yùn)行的日志,數(shù)據(jù),錯(cuò)誤等,Loguru沒出來前我們都是通過 Python 自帶的庫logging去封裝一個(gè)打印log的類,然后到處去import 調(diào)用,如果想某個(gè)程序增加打印log的內(nèi)容還要去修改封裝的logging類,導(dǎo)致會出現(xiàn)很多的logging封裝文件出來。剛剛好Loguru的出現(xiàn)解決了。
什么是loguru?
Loguru是一個(gè)用于Python的高性能、簡潔且靈活的日志庫。它的目標(biāo)是提供一種簡單的方式來記錄應(yīng)用程序的運(yùn)行情況,同時(shí)保持代碼的簡潔性和可讀性,本文將探索loguru的基本用法

安裝
使用pip來安裝loguru庫。在你的命令行中輸入以下命令
pip install loguru

基本用法
導(dǎo)入loguru
適用3.5及其以上版本
>>> from loguru import logger
log保存的文件
>>> logger.add("D:\logs\logs.log") # 如果logs目錄不存在會給你自動創(chuàng)建
1更靈活的保存日志方式
logger.add("test_1.log", rotation="500 MB") # 日志超過500M 創(chuàng)建新log文件
logger.add("test_2.log", rotation="12:00") # 每天中午12點(diǎn)創(chuàng)建一個(gè)新的log文件
logger.add("test_3.log", rotation="1 week") # 文件太舊,自動創(chuàng)建新的
logger.add("test_X.log", retention="10 days") # 10 天后qingl日志
logger.add("test_Y.log", compression="zip") # 保存壓縮文件 ,節(jié)省空打印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("這是一個(gè)警告信息")
[32m2023-11-23 23:34:37.977[0m | [33m[1mWARNING [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [33m[1m這是一個(gè)警告信息[0m
>>> logger.error("這是個(gè)錯(cuò)誤信息")
[32m2023-11-23 23:36:32.399[0m | [31m[1mERROR [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [31m[1m這是個(gè)錯(cuò)誤信息[0m
>>> logger.critical("這是個(gè)嚴(yán)重錯(cuò)誤信息")
[32m2023-11-23 23:37:05.448[0m | [41m[1mCRITICAL[0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [41m[1m這是個(gè)嚴(yán)重錯(cuò)誤信息[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 
捕獲異常
>>> @logger.catch def fun(x,y):return x/y >>> fun(1,0)

設(shè)置日志級別
怎么添加handler、如何設(shè)置日志格式、怎么添加過濾消息和設(shè)置日志級別,一個(gè)logger.add()幫忙你搞定
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")總結(jié)
Python loguru有以下優(yōu)點(diǎn)
簡單易用:Loguru 提供了簡潔明了的 API,只需導(dǎo)入模塊,一行代碼即可調(diào)用。
靈活性:Loguru 支持多種輸出方式(如控制臺、文件等),并且可以自定義輸出格式和級別。
高效性:Loguru 使用了異步 I/O 技術(shù),可以提高日志記錄的效率。
兼容性:Loguru 兼容 Python 3.5+ 版本,可以在各種環(huán)境下使用。
功能豐富:Loguru 支持多種日志級別、過濾器、上下文管理,捕獲異常等功能,可以滿足不同場景的需求
更多的用法參考:
github: https://github.com/Delgan/loguru
官方文檔:https://loguru.readthedocs.io/en/stable/index.html
以上就是Python Loguru輕松靈活的日志管理庫基本用法探索的詳細(xì)內(nèi)容,更多關(guān)于Python Loguru日志管理庫的資料請關(guān)注腳本之家其它相關(guān)文章!
- python uvloop事件循環(huán)庫使用功能示例探究
- python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索
- python?Prophet時(shí)間序列預(yù)測工具庫使用功能探索
- Python flashtext文本搜索和替換操作庫功能使用探索
- python ftfy庫處理金融方面文件編碼錯(cuò)誤實(shí)例詳解
- Python的hashlib庫獲取超大文件的md5值實(shí)例探究
- Python mlxtend庫數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)補(bǔ)充工具功能探索
- python Boltons庫實(shí)用功能探索(深度復(fù)制類型檢查重試機(jī)制)
相關(guān)文章
Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用
csv文件是一種逗號分隔的純文本形式存儲的表格數(shù)據(jù),Python內(nèi)置了CSV模塊,可直接通過該模塊實(shí)現(xiàn)csv文件的讀寫操作,下面這篇文章主要給大家介紹了關(guān)于Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用,需要的朋友可以參考下2022-09-09
Pytest失敗重跑機(jī)制pytest-rerunfailures的實(shí)現(xiàn)
pytest-rerunfailures插件是解決自動化測試偶發(fā)故障的有效工具,通過--reruns設(shè)置重試次數(shù)和--reruns-delay配置間隔時(shí)間,具有一定的參考價(jià)值,感興趣的可以了解一下2025-06-06
python中實(shí)現(xiàn)json數(shù)據(jù)和類對象相互轉(zhuǎn)化的四種方式
在日常的軟件測試過程中,測試數(shù)據(jù)的構(gòu)造是一個(gè)占比非常大的活動,對于測試數(shù)據(jù)的構(gòu)造,分為結(jié)構(gòu)化的數(shù)據(jù)構(gòu)造方式和非結(jié)構(gòu)化的數(shù)據(jù)構(gòu)造方式,此篇文章,會通過4種方式來展示json數(shù)據(jù)與python的類對象相互轉(zhuǎn)化,需要的朋友可以參考下2024-07-07
Python調(diào)用C++動態(tài)庫詳細(xì)步驟(附源碼)
在某些項(xiàng)目中需要在python工程中調(diào)用自定義的C++的動態(tài)庫,分為以下兩步,第一步:動態(tài)庫生成;第二步:Python調(diào)用動態(tài)庫,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-05-05

