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

Python中Loguru模塊的具體使用

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

1.Loguru模塊的基本概念

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

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

為什么要使用loguru?

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

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

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

2.Loguru模塊的安裝與特性

2.1 安裝

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

2.2 功能特性

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

3.Loguru模塊的功能詳解

1.開箱即用

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

logger.debug('debug log')

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

?可以看出,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')

日志文件的轉存

# ======================
# -*-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ù),指定文件轉存的條件
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天就會清理舊的日志,這樣就不會造成內存的浪費

# 通過配置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')

文件的日志內容是空白的

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

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

相關文章

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

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

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

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

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

    Python?requirements.txt的具體使用

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

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

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

    python 實現(xiàn)查詢Neo4j多節(jié)點的多層關系

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

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

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

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

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

    使用Python和Flask編寫一個留言簿

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

    Python中Numpy mat的使用詳解

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

    Python3爬蟲中關于中文分詞的詳解

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

最新評論

青神县| 鄂托克旗| 吉安县| 晋江市| 当涂县| 上饶市| 蒙山县| 曲松县| 鄂托克旗| 襄城县| 本溪市| 曲松县| 雅安市| 高阳县| 临桂县| 巴林右旗| 定襄县| 蛟河市| 南昌县| 盐边县| 喀什市| 吕梁市| 安平县| 双辽市| 芜湖市| 凤台县| 德清县| 兰西县| 大厂| 砚山县| 桐庐县| 怀柔区| 贵南县| 武山县| 改则县| 和硕县| 阿坝| 六枝特区| 离岛区| 皋兰县| 时尚|