Python Loguru輕松靈活的日志管理庫(kù)基本用法探索
前言
我們?cè)趯?shí)際項(xiàng)目中,經(jīng)常需要保持程序運(yùn)行的日志,數(shù)據(jù),錯(cuò)誤等,Loguru沒(méi)出來(lái)前我們都是通過(guò) Python 自帶的庫(kù)logging去封裝一個(gè)打印log的類,然后到處去import 調(diào)用,如果想某個(gè)程序增加打印log的內(nèi)容還要去修改封裝的logging類,導(dǎo)致會(huì)出現(xiàn)很多的logging封裝文件出來(lái)。剛剛好Loguru的出現(xiàn)解決了。
什么是loguru?
Loguru是一個(gè)用于Python的高性能、簡(jiǎn)潔且靈活的日志庫(kù)。它的目標(biāo)是提供一種簡(jiǎn)單的方式來(lái)記錄應(yīng)用程序的運(yùn)行情況,同時(shí)保持代碼的簡(jiǎn)潔性和可讀性,本文將探索loguru的基本用法
安裝
使用pip來(lái)安裝loguru庫(kù)。在你的命令行中輸入以下命令
pip install loguru
基本用法
導(dǎo)入loguru
適用3.5及其以上版本
>>> from loguru import logger
log保存的文件
>>> logger.add("D:\logs\logs.log") # 如果logs目錄不存在會(huì)給你自動(dòng)創(chuàng)建 1
更靈活的保存日志方式
logger.add("test_1.log", rotation="500 MB") # 日志超過(guò)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") # 文件太舊,自動(dòng)創(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 ![0m 以
以上是在python idle里面執(zhí)行的,不會(huì)顯示樣式,看下面截圖,在cmd里面執(zhí)行的
捕獲異常
>>> @logger.catch def fun(x,y):return x/y >>> fun(1,0)
設(shè)置日志級(jí)別
怎么添加handler、如何設(shè)置日志格式、怎么添加過(guò)濾消息和設(shè)置日志級(jí)別,一個(gè)logger.add()幫忙你搞定
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
總結(jié)
Python loguru有以下優(yōu)點(diǎn)
簡(jiǎn)單易用:Loguru 提供了簡(jiǎn)潔明了的 API,只需導(dǎo)入模塊,一行代碼即可調(diào)用。
靈活性:Loguru 支持多種輸出方式(如控制臺(tái)、文件等),并且可以自定義輸出格式和級(jí)別。
高效性:Loguru 使用了異步 I/O 技術(shù),可以提高日志記錄的效率。
兼容性:Loguru 兼容 Python 3.5+ 版本,可以在各種環(huán)境下使用。
功能豐富:Loguru 支持多種日志級(jí)別、過(guò)濾器、上下文管理,捕獲異常等功能,可以滿足不同場(chǎng)景的需求
更多的用法參考:
github: https://github.com/Delgan/loguru
官方文檔:https://loguru.readthedocs.io/en/stable/index.html
以上就是Python Loguru輕松靈活的日志管理庫(kù)基本用法探索的詳細(xì)內(nèi)容,更多關(guān)于Python Loguru日志管理庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python uvloop事件循環(huán)庫(kù)使用功能示例探究
- python html2text庫(kù)將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索
- python?Prophet時(shí)間序列預(yù)測(cè)工具庫(kù)使用功能探索
- Python flashtext文本搜索和替換操作庫(kù)功能使用探索
- python ftfy庫(kù)處理金融方面文件編碼錯(cuò)誤實(shí)例詳解
- Python的hashlib庫(kù)獲取超大文件的md5值實(shí)例探究
- Python mlxtend庫(kù)數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)補(bǔ)充工具功能探索
- python Boltons庫(kù)實(shí)用功能探索(深度復(fù)制類型檢查重試機(jī)制)
相關(guān)文章
PyQt5使用mimeData實(shí)現(xiàn)拖拽事件教程示例解析上
這篇文章主要為大家介紹了PyQt中如何使用mimeData實(shí)現(xiàn)拖拽事件的示例解析過(guò)程,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10Python數(shù)據(jù)可視化Pyecharts庫(kù)實(shí)現(xiàn)桑葚圖效果
這篇文章主要介紹了Python數(shù)據(jù)可視化如何使用Pyecharts庫(kù)來(lái)實(shí)現(xiàn)桑葚圖效果圖,文中給出實(shí)現(xiàn)的示例代碼,有需要的朋友可以借鑒參考想,希望能夠有所幫助2021-09-09Python?OpenCV識(shí)別行人入口進(jìn)出人數(shù)統(tǒng)計(jì)
本文主要介紹了Python?OpenCV識(shí)別行人入口進(jìn)出人數(shù)統(tǒng)計(jì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>2023-01-01Python腳本如何在bilibili中查找彈幕發(fā)送者
這篇文章主要介紹了如何在bilibili中查找彈幕發(fā)送者,本文給大家分享小編寫的一個(gè)python腳本來(lái)實(shí)現(xiàn)bilibili彈幕發(fā)送者,需要的朋友可以參考下2020-06-06PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法
今天小編大家分享一篇PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python之tkinter組合框Combobox用法及說(shuō)明
這篇文章主要介紹了Python之tkinter組合框Combobox用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05pandas使用fillna函數(shù)填充NaN值的代碼實(shí)例
最近在工作中遇到一個(gè)問(wèn)題,pandas讀取的數(shù)據(jù)中nan在保存后變成空字符串,所以下面這篇文章主要給大家介紹了關(guān)于pandas使用fillna函數(shù)填充NaN值的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07對(duì)python3 中方法各種參數(shù)和返回值詳解
今天小編就為大家分享一篇對(duì)python3 中方法各種參數(shù)和返回值詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12