python日志模塊loguru詳解
前言
在部署一些定時(shí)運(yùn)行或者長期運(yùn)行的任務(wù)時(shí),為了留存一些導(dǎo)致程序出現(xiàn)異?;蝈e(cuò)誤的信息,通常會才用日志的方式來進(jìn)行記錄這些信息。python內(nèi)置的logging
標(biāo)準(zhǔn)庫博主是沒用過,今天給大家介紹loguru
,loguru
庫的使用可以說是十分簡單,希望通過本文大家再也不用通過print來排查代碼了。
使用步驟
安裝庫
pip install loguru
簡單使用方法
from loguru import logger logger.debug("debug message") logger.info("info level message") logger.warning("warning level message") logger.critical("critical level message")
從這個(gè)可以看出,logger.debug、logger.info、logger.warning、logger.critical
不僅可以代替print
,還為輸出的日志信息帶上了不同的顏色樣式,使得結(jié)果更加美觀。
配置
使用基本的add()
方法就可以對logger
進(jìn)行簡單的配置。
logger.add("runtime_{time}.log", rotation="500 MB") # 文件過大于500M就會重新生成一個(gè)文件 logger.add("runtime_{time}.log", rotation="00:00") # 每天0點(diǎn)創(chuàng)建新文件 logger.add("runtime_{time}.log", rotation="1 week") # 文件每過一周就會創(chuàng)建新文件 logger.add("test_4.log", retention="5 days") # 只保留最近五天的日志文件 logger.add("test_5.log", compression="zip") # 以zip格式對日志進(jìn)行保存
其中time
為占位符:可以自動生成時(shí)間,生成一個(gè)文件名包含時(shí)間的 log 文件。
異常追溯
當(dāng)遇到錯(cuò)誤是,如果在打印出log的時(shí)候沒有配置 Traceback 的輸出,很有可能無法追蹤錯(cuò)誤。loguru提供了裝飾器@logger.catch()
就可以直接進(jìn)行 Traceback 的記錄。
建議在程序開始運(yùn)行之前使用add()
方法新建一個(gè)運(yùn)行日志,這樣所有的日志都會被記錄到log之中。
from loguru import logger @logger.catch() def test(): return 1/0 if __name__ == '__main__': logger.add("test.log", retention="5 days") test()
總結(jié)
本文介紹了關(guān)于loguru
的常用方法,使用loguru 庫無疑還是很香的,畢竟別人已經(jīng)為我們一些日常的通用性需求提供了封裝好的解決方案,無論是在學(xué)習(xí)還是在使用的成本上,無疑還是比較小的。
到此這篇關(guān)于python日志模塊loguru詳解的文章就介紹到這了,更多相關(guān)python loguru模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python去除空格和換行符的實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄猵ython去除空格和換行符的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01Python api構(gòu)建tensorrt加速模型的步驟詳解
小編個(gè)人認(rèn)為python比c++更容易讀并且已經(jīng)有很多包裝很好的科學(xué)運(yùn)算庫(numpy,scikit等),今天通過本文給大家分享Python api構(gòu)建tensorrt加速模型的步驟,感興趣的朋友一起看看吧2021-09-09利用Python和C語言分別實(shí)現(xiàn)哈夫曼編碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python和C語言分別實(shí)現(xiàn)哈夫曼編碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-07-07Django 連接sql server數(shù)據(jù)庫的方法
這篇文章主要介紹了Django 連接sql server數(shù)據(jù)庫的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06