最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中Loguru模塊的具體使用

 更新時(shí)間:2025年10月19日 11:31:04   作者:運(yùn)維開發(fā)小白  
loguru 是一個(gè) Python 簡易且強(qiáng)大的第三方日志記錄庫,該庫旨在通過添加一系列有用的功能來解決標(biāo)準(zhǔn)記錄器的注意事項(xiàng),從而減少 Python 日志記錄的痛苦,感興趣的可以了解一下

1.Loguru模塊的基本概念

Python logging模塊定義了為應(yīng)用程序和庫實(shí)現(xiàn)靈活的事件日志記錄的函數(shù)和類。程序開發(fā)過程中,很多程序都有記錄日志的需求,并且日志包含的信息有正常的程序訪問日志還可能有錯(cuò)誤、告警等信息輸出,Python的logging模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過它存儲各種格式的日志,日志記錄提供了一組便利功能,用于簡單的日志記錄用法。

使用Python Logging模塊的主要好處是所有的Pyhon模塊都可以參與日志記錄,logging模塊提供了大量具有靈活性的功能。

為什么要使用loguru?

簡單且方便的幫助我們輸出需要的日志信息

使用 Python 來寫程序或者腳本的話,常常遇到的問題就是需要對日志進(jìn)行刪除.一方面可以幫助我們在程序出問題的時(shí)候排除問題,二來可以幫助我們記錄需要關(guān)注的信息
但是,使用自帶自帶的 logging 模塊的話,則需要我們進(jìn)行不同的初始化等相關(guān)工作。對應(yīng)不熟悉該模塊的同學(xué)來說,還是有些費(fèi)勁的,比如需要配置 Handler/Formatter 等。 隨著業(yè)務(wù)的復(fù)雜度提升, 對日志收集有著更高的要求, 例如: 日志分類, 文件存儲, 異步寫入, 自定義類型等等

loguru 是一個(gè) Python 簡易且強(qiáng)大的第三方日志記錄庫,該庫旨在通過添加一系列有用的功能來解決標(biāo)準(zhǔn)記錄器的注意事項(xiàng),從而減少 Python 日志記錄的痛苦

2.Loguru模塊的安裝與特性

2.1 安裝

[root@localhost ~]# pip3 install loguru # 安裝模塊
[root@localhost ~]# pip3 show loguru # 查看模塊相關(guān)信息

2.2 功能特性

  • 開箱即用,無需準(zhǔn)備
  • 無需初始化,導(dǎo)入函數(shù)即可使用
  • 更容易的文件日志記錄與轉(zhuǎn)存/保留/壓縮方式
  • 更優(yōu)雅的字符串格式化輸出
  • 可以在線程或主線程中捕獲異常
  • 可以設(shè)置不同級別的日志記錄樣式
  • 支持異步,且線程和多進(jìn)程安全
  • 支持惰性計(jì)算
  • 適用于腳本和庫
  • 完全兼容標(biāo)準(zhǔn)日志記錄
  • 更好的日期時(shí)間處理

3.Loguru模塊的功能詳解

1.開箱即用

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger

logger.debug('debug log')

上面的日志記錄語句,默認(rèn)向stderr(控制臺)打印了一條輸出語句,輸出結(jié)果如下所示

?可以看出,loguru默認(rèn)配置了一套日志輸出格式,有時(shí)間、級別、模塊名、行號以及日志信息,不需要手動(dòng)創(chuàng)建 logger,直接使用即可,另外其輸出還是彩色的,看起來會更加友好。所以我們不需要提前配置什么,直接用就可以

2.定義日志輸出時(shí)的行為

?要達(dá)到logging中的Handler(日志輸出地)、Formattetr(日志輸出格式)、Filter(過濾輸出的日志數(shù)據(jù)的效果,以及定義輸出日志級別等等,全都可以在logger.add()這一個(gè)函數(shù)中完成

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger
import os
# 當(dāng)前文件的目錄路徑
dir_path = os.path.abspath(os.path.dirname(__file__))
# 日志路徑
log_file_path = os.path.join(dir_path,'loguru.log')
# 配置日志輸出到文件,輸出最低等級為info,格式自定義
logger.add(log_file_path,format="{time} {level} {message}",level="INFO")
logger.debug('debug msg')
logger.info('info msg')
logger.warning('warning msg')
logger.error('error msg')

日志文件的轉(zhuǎn)存

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger
import os
# 當(dāng)前文件的目錄路徑
dir_path = os.path.abspath(os.path.dirname(__file__))
# 日志路徑
log_file_path = os.path.join(dir_path,'loguru_{time:%Y-%m-%d}.log')
# 配置日志輸出到文件,輸出最低等級為info,格式自定義
logger.add(log_file_path,format="{time} {level} {message}",level="INFO")
logger.debug('debug msg')
logger.info('info msg')
logger.warning('warning msg')
logger.error('error msg')

# 通過配置rotaion參數(shù),指定文件轉(zhuǎn)存的條件
logger.add(log_file_path,rotation="500MB") # 超過500MB自動(dòng)分割文件
logger.add(log_file_path,rotation="12:00") # 每天固定時(shí)間定時(shí)創(chuàng)建文件
logger.add(log_file_path,rotation="1 week") # 每隔一段時(shí)間創(chuàng)建文件

# 通過配置retention參數(shù),指定文件存儲的條件
logger.add(log_file_path,retention="10 days") # 可以指定日志的保留時(shí)長 ,retention=“10 days” 每隔10天就會清理舊的日志,這樣就不會造成內(nèi)存的浪費(fèi)

# 通過配置compression參數(shù)可以指定日志文件的壓縮格式
logger.add(log_file_path,compression="gz")

?有add()就有remove(),add()函數(shù)定義了日志輸出行為后,會返回一個(gè)int類型的id,remove()函數(shù)通過這個(gè)id就可以刪除之前在add()函數(shù)中所定義的東西

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger
import os
# 當(dāng)前文件的目錄路徑
dir_path = os.path.abspath(os.path.dirname(__file__))
# 日志路徑
log_file_path = os.path.join(dir_path,'loguru_{time:%Y-%m-%d}.log')
# 配置日志輸出到文件,輸出最低等級為info,格式自定義
logger.add(log_file_path,format="{time} {level} {message}",level="INFO")
# 刪除剛才在add()自定義輸出
logger.remove()
logger.debug('debug msg')
logger.info('info msg')
logger.warning('warning msg')
logger.error('error msg')

文件的日志內(nèi)容是空白的

remove(handler_id=None): 會刪除之前所有add()中自定義的東西,包括Loguru的默認(rèn)配置

到此這篇關(guān)于Python中Loguru模塊的具體使用的文章就介紹到這了,更多相關(guān)Python Loguru模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析

    linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析

    這篇文章主要介紹了linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Python?數(shù)據(jù)類型--集合set

    Python?數(shù)據(jù)類型--集合set

    這篇文章主要介紹了Python?數(shù)據(jù)類型集合set,在集合中的元素是無序的、唯一的、不可變的類型,它還有一個(gè)特殊的列表,可以對數(shù)據(jù)去重,下面來對其進(jìn)行更徹底的認(rèn)識吧,需要的小伙伴可以參考一下
    2022-02-02
  • Python?requirements.txt的具體使用

    Python?requirements.txt的具體使用

    requirements.txt文件是項(xiàng)目的依賴包及其對應(yīng)版本號的信息列表,本文主要介紹了Python?requirements.txt的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Python 3.x 安裝opencv+opencv_contrib的操作方法

    Python 3.x 安裝opencv+opencv_contrib的操作方法

    下面小編就為大家分享一篇Python 3.x 安裝opencv+opencv_contrib的操作方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python 實(shí)現(xiàn)查詢Neo4j多節(jié)點(diǎn)的多層關(guān)系

    python 實(shí)現(xiàn)查詢Neo4j多節(jié)點(diǎn)的多層關(guān)系

    今天小編就為大家分享一篇python 實(shí)現(xiàn)查詢Neo4j多節(jié)點(diǎn)的多層關(guān)系,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python使用logging實(shí)現(xiàn)多進(jìn)程安全的日志模塊

    Python使用logging實(shí)現(xiàn)多進(jìn)程安全的日志模塊

    這篇文章主要為大家詳細(xì)介紹了Python如何使用標(biāo)準(zhǔn)庫logging實(shí)現(xiàn)多進(jìn)程安全的日志模塊,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-01-01
  • Python實(shí)現(xiàn)解構(gòu)PPT并提取文本、圖片和表格

    Python實(shí)現(xiàn)解構(gòu)PPT并提取文本、圖片和表格

    在企業(yè)級應(yīng)用和科研場景中,PPT 不再僅僅是演示工具,它更是一個(gè)承載了大量核心業(yè)務(wù)信息的非結(jié)構(gòu)化數(shù)據(jù)庫,本文將從開發(fā)者角度出發(fā),介紹如何解構(gòu) PPT 并提取文本、圖片和表格,讓你的演示文檔從視覺展示工具進(jìn)化為可操作的數(shù)據(jù)源,希望對大家有所幫助
    2026-01-01
  • 使用Python和Flask編寫一個(gè)留言簿

    使用Python和Flask編寫一個(gè)留言簿

    本文將通過創(chuàng)建一個(gè)簡單的留言簿應(yīng)用來入門Flask,這個(gè)項(xiàng)目可以幫助我們理解Flask的基本概念和功能,如路由、模板、表單處理等,感興趣的可以了解下
    2024-12-12
  • Python中Numpy mat的使用詳解

    Python中Numpy mat的使用詳解

    這篇文章主要介紹了Python中Numpy mat的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python3爬蟲中關(guān)于中文分詞的詳解

    Python3爬蟲中關(guān)于中文分詞的詳解

    在本篇文章里小編給大家整理的是關(guān)于Python3爬蟲中關(guān)于中文分詞的詳解內(nèi)容,需要的朋友們可以參考下。
    2020-07-07

最新評論

青冈县| 潢川县| 盘锦市| 旅游| 惠州市| 加查县| 高陵县| 辛集市| 于都县| 新丰县| 修武县| 浦东新区| 浦城县| 屯留县| 金阳县| 泰来县| 宣化县| 岢岚县| 建宁县| 馆陶县| 永顺县| 崇礼县| 固阳县| 南乐县| 常德市| 璧山县| 中卫市| 岳普湖县| 中牟县| 莆田市| 和政县| 内丘县| 古交市| 海盐县| 南乐县| 闸北区| 叶城县| 泗阳县| 吴川市| 休宁县| 高州市|