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

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

基本用法
導入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點創(chuàng)建一個新的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("這是一個警告信息")
[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 
捕獲異常
>>> @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有以下優(yōu)點
簡單易用:Loguru 提供了簡潔明了的 API,只需導入模塊,一行代碼即可調用。
靈活性:Loguru 支持多種輸出方式(如控制臺、文件等),并且可以自定義輸出格式和級別。
高效性:Loguru 使用了異步 I/O 技術,可以提高日志記錄的效率。
兼容性:Loguru 兼容 Python 3.5+ 版本,可以在各種環(huán)境下使用。
功能豐富:Loguru 支持多種日志級別、過濾器、上下文管理,捕獲異常等功能,可以滿足不同場景的需求
更多的用法參考:
github: https://github.com/Delgan/loguru
官方文檔:https://loguru.readthedocs.io/en/stable/index.html
以上就是Python Loguru輕松靈活的日志管理庫基本用法探索的詳細內(nèi)容,更多關于Python Loguru日志管理庫的資料請關注腳本之家其它相關文章!
相關文章
Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用
csv文件是一種逗號分隔的純文本形式存儲的表格數(shù)據(jù),Python內(nèi)置了CSV模塊,可直接通過該模塊實現(xiàn)csv文件的讀寫操作,下面這篇文章主要給大家介紹了關于Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用,需要的朋友可以參考下2022-09-09
Pytest失敗重跑機制pytest-rerunfailures的實現(xiàn)
pytest-rerunfailures插件是解決自動化測試偶發(fā)故障的有效工具,通過--reruns設置重試次數(shù)和--reruns-delay配置間隔時間,具有一定的參考價值,感興趣的可以了解一下2025-06-06
python中實現(xiàn)json數(shù)據(jù)和類對象相互轉化的四種方式
在日常的軟件測試過程中,測試數(shù)據(jù)的構造是一個占比非常大的活動,對于測試數(shù)據(jù)的構造,分為結構化的數(shù)據(jù)構造方式和非結構化的數(shù)據(jù)構造方式,此篇文章,會通過4種方式來展示json數(shù)據(jù)與python的類對象相互轉化,需要的朋友可以參考下2024-07-07

