首頁 > 軟體

python紀錄檔模組loguru詳解

2022-02-16 10:03:15

前言

在部署一些定時執行或者長期執行的任務時,為了留存一些導致程式出現異常或錯誤的資訊,通常會才用紀錄檔的方式來進行記錄這些資訊。python內建的logging標準庫博主是沒用過,今天給大家介紹loguruloguru 庫的使用可以說是十分簡單,希望通過本文大家再也不用通過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")

從這個可以看出,logger.debug、logger.info、logger.warning、logger.critical不僅可以代替print,還為輸出的紀錄檔資訊帶上了不同的顏色樣式,使得結果更加美觀。

設定

使用基本的add() 方法就可以對logger 進行簡單的設定。

logger.add("runtime_{time}.log", rotation="500 MB")    # 檔案過大於500M就會重新生成一個檔案
logger.add("runtime_{time}.log", rotation="00:00")     # 每天0點建立新檔案
logger.add("runtime_{time}.log", rotation="1 week")    # 檔案每過一週就會建立新檔案

logger.add("test_4.log", retention="5 days")  # 只保留最近五天的紀錄檔檔案

logger.add("test_5.log", compression="zip")    # 以zip格式對紀錄檔進行儲存

其中time為預留位置:可以自動生成時間,生成一個檔名包含時間的 log 檔案。

異常追溯

當遇到錯誤是,如果在列印出log的時候沒有設定 Traceback 的輸出,很有可能無法追蹤錯誤。loguru提供了裝飾器@logger.catch()就可以直接進行 Traceback 的記錄。
建議在程式開始執行之前使用add()方法新建一個執行紀錄檔,這樣所有的紀錄檔都會被記錄到log之中。

from loguru import logger

@logger.catch()
def test():
    return 1/0

if __name__ == '__main__':
    logger.add("test.log", retention="5 days")
    test()

總結

本文介紹了關於loguru的常用方法,使用loguru 庫無疑還是很香的,畢竟別人已經為我們一些日常的通用性需求提供了封裝好的解決方案,無論是在學習還是在使用的成本上,無疑還是比較小的。

到此這篇關於python紀錄檔模組loguru詳解的文章就介紹到這了,更多相關python loguru模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com