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

Python Loguru輕松靈活的日志管理庫基本用法探索

 更新時間:2024年01月22日 11:44:44   作者:半個碼農(nóng)  
Loguru是一個用于Python的高性能、簡潔且靈活的日志庫,它的目標(biāo)是提供一種簡單的方式來記錄應(yīng)用程序的運行情況,同時保持代碼的簡潔性和可讀性,本文將探索loguru的基本用法

前言

我們在實際項目中,經(jīng)常需要保持程序運行的日志,數(shù)據(jù),錯誤等,Loguru沒出來前我們都是通過 Python 自帶的庫logging去封裝一個打印log的類,然后到處去import 調(diào)用,如果想某個程序增加打印log的內(nèi)容還要去修改封裝的logging類,導(dǎo)致會出現(xiàn)很多的logging封裝文件出來。剛剛好Loguru的出現(xiàn)解決了。

什么是loguru? 

Loguru是一個用于Python的高性能、簡潔且靈活的日志庫。它的目標(biāo)是提供一種簡單的方式來記錄應(yīng)用程序的運行情況,同時保持代碼的簡潔性和可讀性,本文將探索loguru的基本用法

安裝

使用pip來安裝loguru庫。在你的命令行中輸入以下命令

pip install loguru

基本用法

導(dǎo)入loguru

適用3.5及其以上版本

>>> from loguru import logger 

log保存的文件

>>> logger.add("D:\logs\logs.log") # 如果logs目錄不存在會給你自動創(chuàng)建
1

更靈活的保存日志方式

logger.add("test_1.log", rotation="500 MB")    # 日志超過500M 創(chuàng)建新log文件
logger.add("test_2.log", rotation="12:00")     # 每天中午12點創(chuàng)建一個新的log文件
logger.add("test_3.log", rotation="1 week")    # 文件太舊,自動創(chuàng)建新的
logger.add("test_X.log", retention="10 days")  # 10 天后qingl日志
logger.add("test_Y.log", compression="zip")    # 保存壓縮文件 ,節(jié)省空

打印log輸出log到文件里面

1
>>> logger.debug("this is debug info")
[32m2023-11-23 23:33:26.858[0m | [34m[1mDEBUG   [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [34m[1mthis is debug info[0m
>>> logger.info("this is info")
[32m2023-11-23 23:34:20.482[0m | [1mINFO    [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [1mthis is info[0m
>>> logger.warning("這是一個警告信息")
[32m2023-11-23 23:34:37.977[0m | [33m[1mWARNING [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [33m[1m這是一個警告信息[0m
>>> logger.error("這是個錯誤信息")
[32m2023-11-23 23:36:32.399[0m | [31m[1mERROR   [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [31m[1m這是個錯誤信息[0m
>>> logger.critical("這是個嚴(yán)重錯誤信息")
[32m2023-11-23 23:37:05.448[0m | [41m[1mCRITICAL[0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [41m[1m這是個嚴(yán)重錯誤信息[0m
>>> logger.info("i using Python {}, support {feature} !", 3.9, feature="f-strings") #格式化輸出
[32m2023-11-25 09:19:50.034[0m | [1mINFO    [0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [1mi using Python 3.9, support f-strings ![0m
以

以上是在python idle里面執(zhí)行的,不會顯示樣式,看下面截圖,在cmd里面執(zhí)行的

捕獲異常

>>> @logger.catch
def fun(x,y):return x/y
>>> fun(1,0)

設(shè)置日志級別

怎么添加handler、如何設(shè)置日志格式、怎么添加過濾消息和設(shè)置日志級別,一個logger.add()幫忙你搞定

logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")

總結(jié)

Python loguru有以下優(yōu)點

  • 簡單易用:Loguru 提供了簡潔明了的 API,只需導(dǎo)入模塊,一行代碼即可調(diào)用。

  • 靈活性:Loguru 支持多種輸出方式(如控制臺、文件等),并且可以自定義輸出格式和級別。

  • 高效性:Loguru 使用了異步 I/O 技術(shù),可以提高日志記錄的效率。

  • 兼容性:Loguru 兼容 Python 3.5+ 版本,可以在各種環(huán)境下使用。

  • 功能豐富:Loguru 支持多種日志級別、過濾器、上下文管理,捕獲異常等功能,可以滿足不同場景的需求

更多的用法參考:

github: https://github.com/Delgan/loguru 

官方文檔:https://loguru.readthedocs.io/en/stable/index.html

以上就是Python Loguru輕松靈活的日志管理庫基本用法探索的詳細(xì)內(nèi)容,更多關(guān)于Python Loguru日志管理庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何用python批量發(fā)送工資條郵件

    如何用python批量發(fā)送工資條郵件

    大家好,本篇文章主要講的是如何用python批量發(fā)送工資條郵件,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • PyQt5使用mimeData實現(xiàn)拖拽事件教程示例解析上

    PyQt5使用mimeData實現(xiàn)拖拽事件教程示例解析上

    這篇文章主要為大家介紹了PyQt中如何使用mimeData實現(xiàn)拖拽事件的示例解析過程,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Python數(shù)據(jù)可視化Pyecharts庫實現(xiàn)桑葚圖效果

    Python數(shù)據(jù)可視化Pyecharts庫實現(xiàn)桑葚圖效果

    這篇文章主要介紹了Python數(shù)據(jù)可視化如何使用Pyecharts庫來實現(xiàn)桑葚圖效果圖,文中給出實現(xiàn)的示例代碼,有需要的朋友可以借鑒參考想,希望能夠有所幫助
    2021-09-09
  • python http接口自動化腳本詳解

    python http接口自動化腳本詳解

    這篇文章主要為大家詳細(xì)介紹了python http接口自動化腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python?OpenCV識別行人入口進(jìn)出人數(shù)統(tǒng)計

    Python?OpenCV識別行人入口進(jìn)出人數(shù)統(tǒng)計

    本文主要介紹了Python?OpenCV識別行人入口進(jìn)出人數(shù)統(tǒng)計,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-01-01
  • Python腳本如何在bilibili中查找彈幕發(fā)送者

    Python腳本如何在bilibili中查找彈幕發(fā)送者

    這篇文章主要介紹了如何在bilibili中查找彈幕發(fā)送者,本文給大家分享小編寫的一個python腳本來實現(xiàn)bilibili彈幕發(fā)送者,需要的朋友可以參考下
    2020-06-06
  • PYQT5實現(xiàn)控制臺顯示功能的方法

    PYQT5實現(xiàn)控制臺顯示功能的方法

    今天小編大家分享一篇PYQT5實現(xiàn)控制臺顯示功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python之tkinter組合框Combobox用法及說明

    Python之tkinter組合框Combobox用法及說明

    這篇文章主要介紹了Python之tkinter組合框Combobox用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • pandas使用fillna函數(shù)填充NaN值的代碼實例

    pandas使用fillna函數(shù)填充NaN值的代碼實例

    最近在工作中遇到一個問題,pandas讀取的數(shù)據(jù)中nan在保存后變成空字符串,所以下面這篇文章主要給大家介紹了關(guān)于pandas使用fillna函數(shù)填充NaN值的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 對python3 中方法各種參數(shù)和返回值詳解

    對python3 中方法各種參數(shù)和返回值詳解

    今天小編就為大家分享一篇對python3 中方法各種參數(shù)和返回值詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論