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

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

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

前言

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

什么是loguru? 

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

安裝

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

pip install loguru

基本用法

導入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("這是個嚴重錯誤信息")
[32m2023-11-23 23:37:05.448[0m | [41m[1mCRITICAL[0m | [36m__main__[0m:[36m<module>[0m:[36m1[0m - [41m[1m這是個嚴重錯誤信息[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)

設置日志級別

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

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

總結

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

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

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

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

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

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

更多的用法參考:

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

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

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

相關文章

  • Django Aggregation聚合使用方法解析

    Django Aggregation聚合使用方法解析

    這篇文章主要介紹了Django Aggregation聚合使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用

    Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用

    csv文件是一種逗號分隔的純文本形式存儲的表格數(shù)據(jù),Python內(nèi)置了CSV模塊,可直接通過該模塊實現(xiàn)csv文件的讀寫操作,下面這篇文章主要給大家介紹了關于Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用,需要的朋友可以參考下
    2022-09-09
  • Python?字典中鍵映射多個值的問題解決

    Python?字典中鍵映射多個值的問題解決

    本文主要介紹了在Python中實現(xiàn)一個字典multidict中鍵可以對應多個值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • 人工智能Text Generation文本生成原理示例詳解

    人工智能Text Generation文本生成原理示例詳解

    這篇文章主要為大家介紹了Text Generation文本生成原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Pytest失敗重跑機制pytest-rerunfailures的實現(xiàn)

    Pytest失敗重跑機制pytest-rerunfailures的實現(xiàn)

    pytest-rerunfailures插件是解決自動化測試偶發(fā)故障的有效工具,通過--reruns設置重試次數(shù)和--reruns-delay配置間隔時間,具有一定的參考價值,感興趣的可以了解一下
    2025-06-06
  • Python端口掃描簡單程序

    Python端口掃描簡單程序

    這篇文章主要為大家詳細介紹了Python端口掃描簡單程序的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • python中實現(xiàn)json數(shù)據(jù)和類對象相互轉化的四種方式

    python中實現(xiàn)json數(shù)據(jù)和類對象相互轉化的四種方式

    在日常的軟件測試過程中,測試數(shù)據(jù)的構造是一個占比非常大的活動,對于測試數(shù)據(jù)的構造,分為結構化的數(shù)據(jù)構造方式和非結構化的數(shù)據(jù)構造方式,此篇文章,會通過4種方式來展示json數(shù)據(jù)與python的類對象相互轉化,需要的朋友可以參考下
    2024-07-07
  • Python調用C++動態(tài)庫詳細步驟(附源碼)

    Python調用C++動態(tài)庫詳細步驟(附源碼)

    在某些項目中需要在python工程中調用自定義的C++的動態(tài)庫,分為以下兩步,第一步:動態(tài)庫生成;第二步:Python調用動態(tài)庫,文章通過圖文介紹的非常詳細,需要的朋友可以參考下
    2025-05-05
  • django中資源文件夾的引入及配置方法

    django中資源文件夾的引入及配置方法

    這篇文章主要介紹了django中資源文件夾的引入,主要包括靜態(tài)資源文件夾的引入及媒體資源文件夾的引入,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Python解析樹及樹的遍歷

    Python解析樹及樹的遍歷

    本篇是給大家介紹的Python實現(xiàn)解析樹以及實現(xiàn)二叉樹的三種遍歷,先序遍歷,中序遍歷,后序遍歷的例子,非常的詳細,有需要的小伙伴可以參考下。
    2016-02-02

最新評論

休宁县| 东莞市| 杭锦后旗| 德惠市| 桃江县| 石阡县| 张掖市| 轮台县| 前郭尔| 岫岩| 兰州市| 山西省| 襄汾县| 前郭尔| 砚山县| 治县。| 扎赉特旗| 吉木乃县| 旺苍县| 白城市| 富民县| 普陀区| 奎屯市| 青田县| 嘉峪关市| 定西市| 安溪县| 墨竹工卡县| 焉耆| 青冈县| 神木县| 额济纳旗| 仲巴县| 论坛| 即墨市| 安多县| 乌鲁木齐市| 南丰县| 丹巴县| 察隅县| 新龙县|