日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用logzero在Python中進(jìn)行簡(jiǎn)單日志記錄

快速了解一個(gè)方便的日志庫(kù),來幫助你掌握這個(gè)重要的編程概念。

站在用戶的角度思考問題,與客戶深入溝通,找到南澗網(wǎng)站設(shè)計(jì)與南澗網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋南澗地區(qū)。

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

你可以使用它基本的記錄到標(biāo)準(zhǔn)輸出的日志記錄,就像你可以使用 print 來獲得信息和調(diào)試一樣,學(xué)習(xí)它的更高級(jí)日志記錄(例如記錄到文件)的學(xué)習(xí)曲線也很平滑。

首先,使用 pip 安裝 logzero:

 
 
 
 
  1. $ sudo pip3 install logzero

在 Python 文件中,導(dǎo)入 logger 并嘗試以下一個(gè)或所有日志實(shí)例:

 
 
 
 
  1. from logzero import logger
  2. logger.debug("hello")
  3. logger.info("info")
  4. logger.warning("warning")
  5. logger.error("error")

輸出以易于閱讀的方式自動(dòng)著色:

Python, Raspberry Pi: import logger

因此現(xiàn)在不要再使用 print 來了解發(fā)生了什么,而應(yīng)使用有相關(guān)日志級(jí)別的日志器。

在 Python 中將日志寫入文件

如果你閱讀至此,并會(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ò)誤。這種情況下,記錄到文件很有幫助。讓我們嘗試一下:

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

現(xiàn)在,你的日志條目將記錄到文件 test.log 中。記住確保腳本有權(quán)限寫入該文件及其目錄結(jié)構(gòu)。

你也可以指定更多選項(xiàng):

 
 
 
 
  1. 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è)為所有者,以便可以寫入該目錄:

 
 
 
 
  1. $ sudo mkdir /var/log/test
  2. $ sudo chown pi /var/log/test

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

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

當(dāng)要在 logfile 中捕獲異常時(shí),可以使用 logging.exception

 
 
 
 
  1. try:
  2.     c = a / b
  3. except Exception as e:
  4.     logger.exception(e)

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

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

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

 
 
 
 
  1. try:
  2.     c = a / b
  3. except Exception as e:
  4.     logger.error(f"{e.__class__.__name__}: {e}")

現(xiàn)在,將產(chǎn)生更簡(jiǎn)潔的結(jié)果:

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

Logging output

你可以在 logzero.readthedocs.io 中閱讀更多選項(xiàng)。

logzero 為教育而生

對(duì)于新手程序員來說,日志記錄可能是一個(gè)具有挑戰(zhàn)性的概念。大多數(shù)框架依賴于流控制和大量變量操作來生成有意義的日志,但是 logzero 不同。由于它的語法類似于 print 語句,因此它在教育上很成功,因?yàn)樗鼰o需解釋其他概念。在你的下個(gè)項(xiàng)目中試試它。


標(biāo)題名稱:使用logzero在Python中進(jìn)行簡(jiǎn)單日志記錄
分享URL:http://m.5511xx.com/article/dppdgis.html