這篇文章主要介紹如何使用logzero在Python中進(jìn)行簡(jiǎn)單日志記錄,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),雞西網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:雞西等地區(qū)。雞西做網(wǎng)站價(jià)格咨詢:028-86922220
logzero 庫使日志記錄就像打印語句一樣容易,是簡(jiǎn)單性的杰出代表。我不確定 logzero 的名稱是否要與 pygame-zero、GPIO Zero 和 guizero 這樣的 “zero 樣板庫”契合,但是肯定屬于該類別。它是一個(gè) Python 庫,可以使日志記錄變得簡(jiǎn)單明了。
你可以使用它基本的記錄到標(biāo)準(zhǔn)輸出的日志記錄,就像你可以使用 print 來獲得信息和調(diào)試一樣,學(xué)習(xí)它的更高級(jí)日志記錄(例如記錄到文件)的學(xué)習(xí)曲線也很平滑。
首先,使用 pip 安裝 logzero:
$ sudo pip3 install logzero
在 Python 文件中,導(dǎo)入 logger 并嘗試以下一個(gè)或所有日志實(shí)例:
from logzero import logger logger.debug("hello")logger.info("info")logger.warning("warning")logger.error("error")輸出以易于閱讀的方式自動(dòng)著色:

Python, Raspberry Pi: import logger
因此現(xiàn)在不要再使用 print 來了解發(fā)生了什么,而應(yīng)使用有相關(guān)日志級(jí)別的日志器。
如果你閱讀至此,并會(huì)在你寫代碼時(shí)做一點(diǎn)改變,這對(duì)我就足夠了。如果你要了解更多,請(qǐng)繼續(xù)閱讀!
寫到標(biāo)準(zhǔn)輸出對(duì)于測(cè)試新程序不錯(cuò),但是僅當(dāng)你登錄到運(yùn)行腳本的計(jì)算機(jī)時(shí)才有用。在很多時(shí)候,你需要遠(yuǎn)程執(zhí)行代碼并在事后查看錯(cuò)誤。這種情況下,記錄到文件很有幫助。讓我們嘗試一下:
from logzero import logger, logfile logfile('/home/pi/test.log')現(xiàn)在,你的日志條目將記錄到文件 test.log 中。記住確保腳本有權(quán)限寫入該文件及其目錄結(jié)構(gòu)。
你也可以指定更多選項(xiàng):
logfile('/home/pi/test.log', maxBytes=1e6, backupCount=3)現(xiàn)在,當(dāng)提供給 test.log 文件的數(shù)據(jù)達(dá)到 1MB(106 字節(jié))時(shí),它將通過 test.log.1、test.log.2 等文件輪替寫入。這種行為可以避免系統(tǒng)打開和關(guān)閉大量 I/O 密集的日志文件,以至于系統(tǒng)無法打開和關(guān)閉。更專業(yè)一點(diǎn),你或許還要記錄到 /var/log。假設(shè)你使用的是 Linux,那么創(chuàng)建一個(gè)目錄并將用戶設(shè)為所有者,以便可以寫入該目錄:
$ sudo mkdir /var/log/test$ sudo chown pi /var/log/test
然后在你的 Python 代碼中,更改 logfile 路徑:
logfile('/var/log/test/test.log', maxBytes=1e6, backupCount=3)當(dāng)要在 logfile 中捕獲異常時(shí),可以使用 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
你會(huì)得到日志,還有完整回溯。另外,你可以使用 logging.error 并隱藏回溯:
try: c = a / bexcept Exception as e: logger.error(f"{e.__class__.__name__}: {e}")現(xiàn)在,將產(chǎn)生更簡(jiǎn)潔的結(jié)果:
[E 190423 00:04:16 test:9] ZeroDivisionError: division by zero

以上是“如何使用logzero在Python中進(jìn)行簡(jiǎn)單日志記錄”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:如何使用logzero在Python中進(jìn)行簡(jiǎn)單日志記錄
網(wǎng)站網(wǎng)址:http://chinadenli.net/article4/jggeoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、微信小程序、外貿(mào)建站、App設(shè)計(jì)、網(wǎng)站維護(hù)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)