欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中Loguru模塊的具體使用

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

1.Loguru模塊的基本概念

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

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

為什么要使用loguru?

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

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

loguru 是一個 Python 簡易且強大的第三方日志記錄庫,該庫旨在通過添加一系列有用的功能來解決標準記錄器的注意事項,從而減少 Python 日志記錄的痛苦

2.Loguru模塊的安裝與特性

2.1 安裝

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

2.2 功能特性

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

3.Loguru模塊的功能詳解

1.開箱即用

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

logger.debug('debug log')

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

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

2.定義日志輸出時的行為

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

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger
import os
# 當前文件的目錄路徑
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
# 當前文件的目錄路徑
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自動分割文件
logger.add(log_file_path,rotation="12:00") # 每天固定時間定時創(chuàng)建文件
logger.add(log_file_path,rotation="1 week") # 每隔一段時間創(chuàng)建文件

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

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

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

# ======================
# -*-coding: Utf-8 -*-
# ======================
from loguru import logger
import os
# 當前文件的目錄路徑
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的默認配置

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

相關(guān)文章

  • Python爬蟲PyQuery庫基本用法入門教程

    Python爬蟲PyQuery庫基本用法入門教程

    這篇文章主要介紹了Python爬蟲PyQuery庫基本用法,結(jié)合實例形式較為詳細的分析了pyQuery庫字符串初始化、打開網(wǎng)頁、css屬性、標簽內(nèi)容等獲取、DOM基本操作等相關(guān)技巧與使用注意事項,需要的朋友可以參考下
    2018-08-08
  • Python新手在作用域方面經(jīng)常容易碰到的問題

    Python新手在作用域方面經(jīng)常容易碰到的問題

    這篇文章主要介紹了Python新手在作用域方面經(jīng)常容易碰到的問題,全局變量和局部變量方面的知識在Python學習當中是基礎(chǔ)中的基礎(chǔ),需要的朋友可以參考下
    2015-04-04
  • pip install -e.出現(xiàn)xxx module not found error的問題解決方案

    pip install -e.出現(xiàn)xxx module not fou

    這篇文章主要介紹了pip install -e.出現(xiàn)xxx module not found error的問題解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • Python中if語句的使用方法及實例代碼

    Python中if語句的使用方法及實例代碼

    if語句能夠進行條件測試,并依據(jù)一定的條件進行具體的操作,下面這篇文章主要給大家介紹了關(guān)于Python中if語句的使用方法及實例代碼,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 基于Python開發(fā)圖片文件信息統(tǒng)計工具

    基于Python開發(fā)圖片文件信息統(tǒng)計工具

    這篇文章主要為大家詳細介紹了如何開發(fā)一個基于Python的圖形化工具,幫助用戶快速統(tǒng)計文件夾中所有圖片的詳細信息并導出到Excel文件中,有需要的小伙伴可以了解下
    2025-05-05
  • Python語言描述最大連續(xù)子序列和

    Python語言描述最大連續(xù)子序列和

    這篇文章主要介紹了Python語言描述最大連續(xù)子序列和,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python使用pdfminer庫玩轉(zhuǎn)PDF文本提取

    Python使用pdfminer庫玩轉(zhuǎn)PDF文本提取

    pdfminer是一個開源的Python第三方庫,專門用于解析PDF文件,本文主要為大家詳細介紹了如何使用pdfminer實現(xiàn)PDF文本提取,有需要的小伙伴可以了解下
    2025-02-02
  • 一步步教你用python給女朋友寫個微信自動提醒的程序

    一步步教你用python給女朋友寫個微信自動提醒的程序

    如今微信已成為我們?nèi)粘I畹闹饕涣鞴ぞ?但是微信自身的功能有時候可能并不能滿足我們的需要,因此我們會想是否可以進行微信功能的拓展呢,這篇文章主要給大家介紹了關(guān)于利用python給女朋友寫了個微信自動提醒程序的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Python多叉樹的構(gòu)造及取出節(jié)點數(shù)據(jù)(treelib)的方法

    Python多叉樹的構(gòu)造及取出節(jié)點數(shù)據(jù)(treelib)的方法

    今天小編就為大家分享一篇Python多叉樹的構(gòu)造及取出節(jié)點數(shù)據(jù)(treelib)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 利用python+request通過接口實現(xiàn)人員通行記錄上傳功能

    利用python+request通過接口實現(xiàn)人員通行記錄上傳功能

    這篇文章主要介紹了利用python+request通過接口實現(xiàn)人員通行記錄上傳功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論