溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用logzero在Python中進行簡單日志記錄

發布時間:2021-11-03 10:37:37 來源:億速云 閱讀:197 作者:小新 欄目:編程語言

這篇文章主要介紹如何使用logzero在Python中進行簡單日志記錄,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

logzero 庫使日志記錄就像打印語句一樣容易,是簡單性的杰出代表。我不確定 logzero 的名稱是否要與 pygame-zero、GPIO Zero 和 guizero 這樣的 “zero 樣板庫”契合,但是肯定屬于該類別。它是一個 Python 庫,可以使日志記錄變得簡單明了。

你可以使用它基本的記錄到標準輸出的日志記錄,就像你可以使用 print 來獲得信息和調試一樣,學習它的更高級日志記錄(例如記錄到文件)的學習曲線也很平滑。

首先,使用 pip 安裝 logzero:

$ sudo pip3 install logzero

在 Python 文件中,導入 logger 并嘗試以下一個或所有日志實例:

from logzero import logger logger.debug("hello")logger.info("info")logger.warning("warning")logger.error("error")

輸出以易于閱讀的方式自動著色:

如何使用logzero在Python中進行簡單日志記錄

Python, Raspberry Pi: import logger

因此現在不要再使用 print 來了解發生了什么,而應使用有相關日志級別的日志器。

在 Python 中將日志寫入文件

如果你閱讀至此,并會在你寫代碼時做一點改變,這對我就足夠了。如果你要了解更多,請繼續閱讀!

寫到標準輸出對于測試新程序不錯,但是僅當你登錄到運行腳本的計算機時才有用。在很多時候,你需要遠程執行代碼并在事后查看錯誤。這種情況下,記錄到文件很有幫助。讓我們嘗試一下:

from logzero import logger, logfile logfile('/home/pi/test.log')

現在,你的日志條目將記錄到文件 test.log 中。記住確保腳本有權限寫入該文件及其目錄結構。

你也可以指定更多選項:

logfile('/home/pi/test.log', maxBytes=1e6, backupCount=3)

現在,當提供給 test.log 文件的數據達到 1MB(106 字節)時,它將通過 test.log.1、test.log.2 等文件輪替寫入。這種行為可以避免系統打開和關閉大量 I/O 密集的日志文件,以至于系統無法打開和關閉。更專業一點,你或許還要記錄到 /var/log。假設你使用的是 Linux,那么創建一個目錄并將用戶設為所有者,以便可以寫入該目錄:

$ sudo mkdir /var/log/test$ sudo chown pi /var/log/test

然后在你的 Python 代碼中,更改 logfile 路徑:

logfile('/var/log/test/test.log', maxBytes=1e6, backupCount=3)

當要在 logfile 中捕獲異常時,可以使用 logging.exception

try:    c = a / bexcept Exception as e:    logger.exception(e)

這將輸出(在 b 為零的情況下):

[E 190422 23:41:59 test:9] division by zero     Traceback (most recent call last):       File "test.py", line 7, in         c = a / b     ZeroDivisionError: division by zero

你會得到日志,還有完整回溯。另外,你可以使用 logging.error 并隱藏回溯:

try:    c = a / bexcept Exception as e:    logger.error(f"{e.__class__.__name__}: {e}")

現在,將產生更簡潔的結果:

[E 190423 00:04:16 test:9] ZeroDivisionError: division by zero

如何使用logzero在Python中進行簡單日志記錄

以上是“如何使用logzero在Python中進行簡單日志記錄”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女