0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中Loguru的安裝方式

python爬蟲(chóng)知識(shí)分享 ? 來(lái)源:python爬蟲(chóng)知識(shí)分享 ? 作者:python爬蟲(chóng)知識(shí)分享 ? 2022-06-22 15:27 ? 次閱讀

Loguru 安裝方式很簡(jiǎn)單,打開(kāi)終端輸入:

pip installloguru

1、即開(kāi)即用

在Loguru中,如果你需要輸出 debug 日志到終端,可以這么做:

fromloguru importlogger
logger.debug("That's it, beautiful and simple logging!")

如果你需要把日志輸出到文件,只需要這樣:

fromloguru importlogger
logger.add("file_{time}.log")
logger.debug("That's it, beautiful and simple logging!")

2、滾動(dòng)日志與壓縮

按時(shí)間滾動(dòng)

比如按時(shí)間滾動(dòng),我們只需要在 logger.add 參數(shù)中添加一個(gè) rotation 參數(shù):

fromloguru importlogger
logger.add("file_2.log", rotation="12:00") 
# 每天12:00會(huì)創(chuàng)建一個(gè)新的文件
logger.debug("That's it, beautiful and simple logging!")

按大小滾動(dòng)

除了按時(shí)間滾動(dòng)日志外,Loguru 還可以按日志大小滾動(dòng):

fromloguru importlogger
logger.add("file_1.log", rotation="1 MB") 
# 滾動(dòng)大日志文件
logger.debug("That's it, beautiful and simple logging!")

這樣,一旦日志文件大小超過(guò) 1 MB 就會(huì)產(chǎn)生新的日志文件。

壓縮日志

如果你不想刪除原有日志文件,Loguru 還支持將日志直接壓縮:

fromloguru importlogger
logger.add("file_Y.log", compression="zip") # 壓縮日志

3、其他特性

自定義顏色

Loguru 是支持自定義顏色的,如果你不喜歡它默認(rèn)的顏色,可以這么改:

logger.add(sys.stdout, colorize=True, format="{time}{message}")

類(lèi)似于HTML標(biāo)簽 標(biāo)簽中間的文字將會(huì)被標(biāo)記為綠色。

多進(jìn)程安全

Loguru 默認(rèn)情況下是線(xiàn)程安全的,但它不是多進(jìn)程安全的。不過(guò)如果你需要多進(jìn)程/異步記錄日志,它也能支持,只需要添加一個(gè) enqueue 參數(shù):

logger.add("somefile.log", enqueue=True)

支持Backtrace

對(duì)于日志而言,沒(méi)有錯(cuò)誤堆棧的日志是沒(méi)有靈魂的。Loguru 允許顯示整個(gè)堆棧信息來(lái)幫助你發(fā)現(xiàn)問(wèn)題(包括變量)。

比如下面這個(gè)例子:

logger.add("out.log", backtrace=True, diagnose=True) # Caution, may leak sensitive data in prod

deffunc(a, b):
  returna / b

defnested(c):
  try:
 func(5, c)
  exceptZeroDivisionError:
 logger.exception("What?!")

nested(0)
pYYBAGKywweAM70AAABKXGuCJsE453.png

非常清晰明了。

郵件告警

Loguru 可以和強(qiáng)大的郵件通知模塊notifiers庫(kù)結(jié)合使用,以在程序意外失敗時(shí)接收電子郵件,或發(fā)送許多其他類(lèi)型的通知。

importnotifiers

params = {
  "username": "you@gmail.com",
  "password": "password",
  "to": "dest@gmail.com"
}

# 初始化時(shí)發(fā)送一封郵件
notifier = notifiers.get_notifier("gmail")
notifier.notify(message="The application is running!", **params)

# 發(fā)生Error日志時(shí),發(fā)郵件進(jìn)行警報(bào)
fromnotifiers.logging importNotificationHandler

handler = NotificationHandler("gmail", defaults=params)
logger.add(handler, level="ERROR")

這樣配置之后,每次產(chǎn)生 Error 日志,程序都會(huì)自動(dòng)向你的郵箱發(fā)送告警,真的極其方便。

除了這些特性外,Loguru 還支持與 Python 原生的 Logging 模塊兼容使用,你可以將原始的標(biāo)準(zhǔn)日志記錄器記錄的所有信息轉(zhuǎn)移到Loguru中。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2724

    瀏覽量

    47609
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    10659
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84855
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電腦是已經(jīng)安裝python2.7,為什么打開(kāi)GUI的script window時(shí),一直提示未找到python2.7?

    電腦是已經(jīng)安裝python2.7,為什么打開(kāi)GUI的script window時(shí),一直提示未找到python2.7?
    發(fā)表于 11-14 07:50

    Python多線(xiàn)程和多進(jìn)程的區(qū)別

    Python作為一種高級(jí)編程語(yǔ)言,提供了多種并發(fā)編程的方式,其中多線(xiàn)程與多進(jìn)程是最常見(jiàn)的兩種方式之一。在本文中,我們將探討Python多線(xiàn)
    的頭像 發(fā)表于 10-23 11:48 ?442次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>中</b>多線(xiàn)程和多進(jìn)程的區(qū)別

    怎么區(qū)分不同射頻接頭的安裝方式

    射頻轉(zhuǎn)接器的種類(lèi)很多,安裝方式也各不相同,不同的安裝方式適用于不同的使用環(huán)境。本文小編會(huì)教大家區(qū)分常用的多種射頻接頭的安裝
    的頭像 發(fā)表于 08-26 15:58 ?679次閱讀

    Python在AI的應(yīng)用實(shí)例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級(jí)的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI的幾個(gè)關(guān)鍵應(yīng)用
    的頭像 發(fā)表于 07-19 17:16 ?1229次閱讀

    用pycharm進(jìn)行python爬蟲(chóng)的步驟

    以下是使用PyCharm進(jìn)行Python爬蟲(chóng)的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyC
    的頭像 發(fā)表于 07-11 10:11 ?899次閱讀

    安裝依賴(lài)的Python軟件包時(shí)報(bào)錯(cuò)如何解決?

    安裝依賴(lài)的 Python 軟件包,出現(xiàn)了如下錯(cuò)誤,請(qǐng)問(wèn)如何解決,謝謝! Command \"E:/msys32/mingw32/bin/python2.7.exe E:/msys32
    發(fā)表于 06-26 07:32

    用離線(xiàn)安裝安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無(wú)激活腳本是怎么回事?

    如題,用離線(xiàn)安裝安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無(wú)激活腳本,具體如下圖所示: 反而用vscode插件安裝的idf有,如下圖:vscode插件
    發(fā)表于 06-11 06:49

    Win10 vscode無(wú)法編譯,提示python.exe: command not found怎么解決?

    電腦中已經(jīng)刪除之前安裝python,環(huán)境變量也添加了報(bào)錯(cuò)內(nèi)容要求的python路徑,我用git bash、cmd也是可以打開(kāi)python
    發(fā)表于 06-07 06:42

    串口屏的幾種安裝方式

    串口屏的幾種安裝方式
    的頭像 發(fā)表于 05-10 11:28 ?1613次閱讀

    無(wú)功補(bǔ)償裝置的安裝方式

    無(wú)功補(bǔ)償裝置的安裝方式通常根據(jù)具體的應(yīng)用場(chǎng)景和電力系統(tǒng)的需求來(lái)決定,以下是一些常見(jiàn)的安裝方式及其特點(diǎn):
    的頭像 發(fā)表于 04-24 14:18 ?618次閱讀

    python 學(xué)習(xí):在內(nèi)網(wǎng) python庫(kù)-numpy 安裝方法,升級(jí)pip3版本的指令

    \\\\numpy-1.26.4-cp311-cp311-win_amd64.whl 內(nèi)網(wǎng)升級(jí)pip 升級(jí)版本的指令: python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
    發(fā)表于 04-22 17:18

    串口屏的安裝方式方法

    串口屏的安裝方式方法
    的頭像 發(fā)表于 04-02 16:25 ?1520次閱讀

    基于Python的地圖繪制教程

    本文將介紹通過(guò)Python繪制地形圖的方法,所需第三方Python相關(guān)模塊包括 rasterio、geopandas、cartopy 等,可通過(guò) pip 等方式安裝。
    的頭像 發(fā)表于 02-26 09:53 ?1272次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    如何使用linux下gdb來(lái)調(diào)試python程序

    如何使用linux下gdb來(lái)調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來(lái)調(diào)試Python程序。GDB是一個(gè)強(qiáng)大的調(diào)試工具,可以幫助開(kāi)發(fā)者診斷和修復(fù)程序的錯(cuò)誤。在本文
    的頭像 發(fā)表于 01-31 10:41 ?2681次閱讀

    itop-RK3588開(kāi)發(fā)板機(jī)器視覺(jué)開(kāi)發(fā)OpenCV-Python安裝

    itop-RK3588開(kāi)發(fā)板機(jī)器視覺(jué)開(kāi)發(fā)OpenCV-Python安裝
    的頭像 發(fā)表于 01-26 15:18 ?4241次閱讀
    itop-RK3588開(kāi)發(fā)板機(jī)器視覺(jué)開(kāi)發(fā)OpenCV-<b class='flag-5'>Python</b>的<b class='flag-5'>安裝</b>