logging(日誌)的知識

2021-08-21 20:34:45 字數 1599 閱讀 2132

標準庫裡面的logging模組,在前面學習執行緒安全時曾用來解決print被打斷的問題,這裡會介紹logging模組的功能。

日誌一共分成5個等級,從低到高分別是:debug info warning error critical。這5個等級,也分別對應5種打日誌的方法: debug 、info 、warning 、error 、critical。預設的是warning,當在warning或之上時才被跟蹤。有兩種方式記錄跟蹤,一種輸出控制台,另一種是記錄到檔案中,如日誌檔案。

debug:詳細的資訊,通常只出現在診斷問題上

info:確認一切按預期執行

warning:乙個跡象表明,一些意想不到的事情發生了,或表明一些問題在不久的將來(例如。磁碟空間低」)。這個軟體還能按預期工作。

error:個更嚴重的問題,軟體沒能執行一些功能

critical:乙個嚴重的錯誤,這表明程式本身可能無法繼續執行

(1) 設定logging.basic.config

(2)使用logging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical()輸出相關日誌

format: 指定輸出的格式和內容,format可以輸出很多有用資訊

%(levelno)s: 列印日誌級別的數值

%(levelname)s: 列印日誌級別名稱

%(pathname)s: 列印當前執行程式的路徑,其實就是sys.argv[0]

%(filename)s: 列印當前執行程式名

%(funcname)s: 列印日誌的當前函式

%(lineno)d: 列印日誌的當前行號

%(asctime)s: 列印日誌的時間

%(thread)d: 列印執行緒id

%(threadname)s: 列印執行緒名稱

%(process)d: 列印程序id

%(message)s: 列印日誌資訊

為日誌模組配置基本資訊。kwargs 支援如下幾個關鍵字引數:

filename:日誌檔案的儲存路徑。如果配置了些引數,將自動建立乙個filehandler作為handler;

filemode:日誌檔案的開啟模式。 預設值為'a',表示日誌訊息以追加的形式新增到日誌檔案中。如果設為'w', 那麼每次程式啟動的時候都會建立乙個新的日誌檔案;

format:設定日誌輸出格式;

datefmt:定義日期格式;

level:設定日誌的級別.對低於該級別的日誌訊息將被忽略;

stream:設定特定的流用於初始化streamhandler;

以上的例子可以:

#configuration logging

import logging

logging.basicconfig(format='%(asctime)s %(levelname)s %(message)s',

level=logging.info,

stream=sys.stdout)

其他內容參見

logging 日誌的學習

1.logging的使用 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改。案例 import logging logging.debug this is debug logging.info this is info logging.warning this...

springboot日誌logging的配置

日誌輸出可以分為 控制台輸出和檔案輸出 日誌級別 trace debug info warn error fatal 如果設定為 warn 則低於 warn 的資訊都不會輸出。spring boot 中預設配置 error warn 和 info 級別的日誌輸出到控制台。loggertest類 sp...

logging日誌模組

日誌級別日誌輸出 將日誌輸出到控制台 log1.py 如下 import logging logging.basicconfig level logging.warning,format asctime s filename s line lineno d levelname s message s...