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

Python 中借助日志記錄庫使用 Log4j的過程記錄

 更新時間:2023年07月10日 15:19:36   作者:跡憶客  
這篇文章主要介紹了在 Python 中借助日志記錄庫使用 Log4j,本文解釋了什么是 log4j,它是如何工作的,以及我們?yōu)槭裁匆褂盟枰呐笥芽梢詤⒖枷?/div>

本文解釋了什么是 log4j,它是如何工作的,以及我們?yōu)槭裁匆褂盟?我們還將了解如何借助日志庫在 Python 編程語言中使用 log4j。

Log4j 概述及其使用重要性

log4j 是程序員在應用程序中記錄數(shù)據時用來幫助他們的一款軟件。 而且,記錄數(shù)據意味著記錄在應用程序中執(zhí)行的活動或操作。

出于安全原因,我們可以使用 log4j,例如查看各種身份驗證。 但是,它也可以用于記錄應用程序中發(fā)生的事情以進行調試。

或者大致了解應用程序一直在做什么。 例如,log4j 是 Java 編程語言中的一個框架,它是一個半構建應用程序。

同樣,在 Python 中,我們使用了日志記錄模塊而不是 log4j。 日志記錄是將應用程序操作和狀態(tài)記錄到輔助接口的過程。 換句話說,將您的程序操作寫入一個文件,但是您如何開始記錄呢?

那么,您需要熟悉日志記錄級別。 每個日志庫都允許您在特定級別鎖定信息。 您必須了解五個主要的日志記錄級別。

級別說明
debug調試級別用于開發(fā)過程或錯誤修復和故障排除。 所有特定于開發(fā)人員的信息都在這一層之下。
info信息級別用于記錄程序的任何重要默認操作,例如默認用戶或系統(tǒng)查看操作。
warning警告級別用于記錄從長遠來看可能成為錯誤的事件。 此日志記錄級別應該可以幫助您追蹤錯誤。
error錯誤級別用于記錄錯誤,錯誤是會以某種錯誤方式影響程序執(zhí)行的錯誤。
critical臨界級別為世界末日; 該程序已死或已嚴重損壞。

在 Python 中的日志記錄庫的幫助下使用 Log4j

現(xiàn)在我們只是運行一個簡單的基本代碼,并沒有這樣的邏輯,但我們想向您展示一些理解,比如如何將所有日志寫入一個文件。

讓我們進入代碼,首先配置日志系統(tǒng),調用 basicConfig() 方法,并使用 filename 參數(shù)傳入文件名。 Python 會將所有日志消息寫入此文件; 如果它不存在,Python 將創(chuàng)建它。

后面的參數(shù)是filemode,意思是file mode就是說是append mode到write mode還是隨便你放什么,默認情況下,文件會以append mode創(chuàng)建。 接下來是表示asctime、levelname、message等很多信息的格式。

asctime 基本上顯示了它在這個與日志相關的特定文本文件中打印的時間類型。 第二個參數(shù)值是一個叫做levelname的東西; 這個參數(shù)告訴我們在執(zhí)行過程中發(fā)生了什么樣的錯誤。

該消息是我們試圖在該日志消息中打印的所有消息。 我們正在使用 datefmt; 此參數(shù)將按特定順序打印時間。

basicConfig() 函數(shù)有一個不同的屬性,我們可以從這里閱讀所有屬性。

import logging
logging.basicConfig(filename='demo.txt',
                    filemode='a',
                    format='%(asctime)s %(levelname)s-%(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
Now we have written a simple logic where we compare the percentile with some numbers and append some logs inside the text file.
for i in range(0,15):
    if i%2==0:
        logging.error('Log error message')
    elif i%3==0:
        logging.warning('Log warning message')
    elif i%5==0:
        logging.debug('Log debug message') 
    elif i%7==0:
        logging.critical('Log critical message')
    else:
        logging.info('Log info message')

輸出:

2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 WARNING-Log warning message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 CRITICAL-Log critical message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 WARNING-Log warning message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 ERROR-Log error message
2022-09-01 23:21:28 ERROR-Log error message

運行程序后,我們可以注意到文本文件中沒有添加信息和調試日志,因為默認情況下,levelname 調用錯誤,錯誤級別不顯示信息和調試。

但是,我們可以通過在傳遞 logging.DEBUG 時使用 level 參數(shù)來使用其他級別。

level=logging.DEBUG

現(xiàn)在,如果我們運行并打開 demo.txt 文件,我們將看到所有日志消息,但如果我們將日志級別更新為 logging.ERROR,我們將看到錯誤和關鍵消息。

2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 INFO-Log info message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 WARNING-Log warning message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 DEBUG-Log debug message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 CRITICAL-Log critical message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 WARNING-Log warning message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 INFO-Log info message
2022-09-01 23:23:57 ERROR-Log error message
2022-09-01 23:23:57 INFO-Log info message
2022-09-01 23:23:57 ERROR-Log error message

讓我們來看一個常見的問題,我們要將任何數(shù)字除以零。 要確定此操作,我們將使用 try 塊。

如果操作失敗,我們將進入 except 塊并顯示日志錯誤。

try:
    1/0
except:
    logging.error('Log zero division error occurs')

輸出:

2022-09-02 00:29:48 ERROR-Log zero division error occurs

它是項目的重要組成部分,因為無論何時處理項目,您都可能必須編寫這種日志記錄機制。

完整的 Python 代碼:

import logging
logging.basicConfig(filename='demo.txt',
                    filemode='w',
                    format='%(asctime)s %(levelname)s-%(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    level=logging.DEBUG)
# for i in range(0,15):
#     if i%2==0:
#         logging.error('Log error message')
#     elif i%3==0:
#         logging.warning('Log warning message')
#     elif i%5==0:
#         logging.debug('Log debug message') 
#     elif i%7==0:
#         logging.critical('Log critical message')
#     else:
#         logging.info('Log info message')
try:
    1/0
except:
    logging.error('Log zero division error occurs')

到此這篇關于在 Python 中借助日志記錄庫使用 Log4j的文章就介紹到這了,更多相關Python日志記錄庫使用 Log4j內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 玩轉Python圖像處理之二值圖像腐蝕詳解

    玩轉Python圖像處理之二值圖像腐蝕詳解

    這篇文章主要給大家介紹了關于Python圖像處理之二值圖像腐蝕的相關資料,對原圖進行二值化后,選擇不同的結構元素對其進行膨脹和腐蝕運算處理,并仿真出圖像結果,需要的朋友可以參考下
    2021-09-09
  • tensorflow之自定義神經網絡層實例

    tensorflow之自定義神經網絡層實例

    今天小編就為大家分享一篇tensorflow之自定義神經網絡層實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python中關于tqdm的用法

    python中關于tqdm的用法

    這篇文章主要介紹了python中關于tqdm的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 網易有道2017內推編程題 洗牌(python)

    網易有道2017內推編程題 洗牌(python)

    這篇文章主要為大家詳細介紹了網易有道2017內推編程題:洗牌,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 關于Pytorch的MNIST數(shù)據集的預處理詳解

    關于Pytorch的MNIST數(shù)據集的預處理詳解

    今天小編就為大家分享一篇關于Pytorch的MNIST數(shù)據集的預處理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實例

    python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實例

    今天小編就為大家分享一篇python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Alpine安裝Python3依賴出現(xiàn)的問題及解決方法

    Alpine安裝Python3依賴出現(xiàn)的問題及解決方法

    這篇文章主要介紹了Alpine安裝Python3依賴出現(xiàn)的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • python文件操作相關知識點總結整理

    python文件操作相關知識點總結整理

    這篇文章主要介紹了python文件操作相關知識點,整理匯總了Python文件操作所涉及的常見函數(shù)與方法,并給出了實例代碼予以總結歸納,需要的朋友可以參考下
    2016-02-02
  • python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中

    python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中

    這篇文章主要介紹了python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django DRF圖片路徑問題的解決方法

    django DRF圖片路徑問題的解決方法

    這篇文章主要給大家介紹了關于django DRF圖片路徑問題的解決方法,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09

最新評論