格式化器formatter
日誌配置
日誌模組:
為了列印日誌資訊的模組。
import logging
#測試日誌資訊
logging.debug(
"debug message");
#資訊日誌資訊
logging.info(
"info message");
#警告日誌資訊
logging.warn(
"warn message");
#錯誤日誌資訊
logging.error(
"error message");
#嚴重錯誤日誌資訊
logging.critical(
"critical message"
);
只有日誌資訊級別為warning,logging模組才將日誌列印到螢幕上。(即只有日誌級別高於warning的日誌才會輸出)
級別何時使用
debug
詳細資訊,典型地除錯問題時會感興趣。
info
證明事情按預期工作。
warning
表明發生了一些意外,或者不久的將來會發生問題(如『磁碟滿了』)。軟體還是在正常工作。
error
由於更嚴重的問題,軟體已不能執行一些功能了。
critical
嚴重錯誤,表明軟體已不能繼續執行了。
對日誌的簡單配置:
import logging
#logging模組的基礎設定,filename為日誌列印檔案(沒有會建立乙個檔案),level為日誌等級。
logging.basicconfig(filename=
"logger.log"
, level=logging.info)
#basiccondig的level設定的是logging的最大等級,也就是這裡的等級大於info的都輸出
logging.debug(
"debug message");
logging.info(
"info message");
logging.warn(
"warn message");
logging.error(
"error message");
logging.critical(
"critical message"
);
設定了基礎設定函式後,不會在命令框顯示日誌。而是會列印到檔案中。
它們之間的關係如下:
記錄器logger是乙個樹形結構容器。在使用介面debug、warn、error、critical之前必須建立乙個logger例項。否則建立的是root logger,預設:日誌級別(warn),處理器(streamhandler),資訊列印在螢幕上,格式化器(預設格式化輸出)
# 建立方法
logger = logging.getlogger(logger_name)
修改記錄器資訊:常見的處理器有:
streamhandler
# 建立方法
streamhandler = logging.streamhandler(stream=
none
)
有以下方法:filehandler
# 建立方法
filehandler = logging.filehandler(filename, mode=
"a", encoding=
none
, delay=
false
)
格式化器對輸出日誌資訊做格式規範。規定了日誌資訊的規則、格式、內容。
# 建立方法
formatter = logging.formatter(fmt=
none
, datefmt=
none
)
fmt是訊息的格式化字串。datefmt是日期的格式化字串。預設fmt使用『%(message)s』、預設datefmt使用iso8601日期格式。basicconfig引數資訊:關鍵字描述filename
建立乙個filehandler,使用指定的檔名,而不是使用streamhandler。
filemode
如果指明了檔名,指明開啟檔案的模式(如果沒有指明filemode,預設為』a』)。
format
handler使用指明的格式化字串。
datefmt
使用指明的日期/時間格式。
level
指明根logger的級別。
stream
使用指明的流來初始化streamhandler。該引數與』filename』不相容,如果兩個都有,'stream』被忽略。
有用的format格式格式
描述%(levelno)s
列印日誌級別的數值
%(levelname)s
列印日誌級別名稱
%(pathname)s
列印當前執行程式的路徑
%(filename)s
列印當前執行程式名稱
%(funcname)s
列印日誌的當前函式
%(lineno)d
列印日誌的當前行號
%(asctime)s
列印日誌的時間
%(thread)d
列印執行緒id
%(threadname)s
列印執行緒名稱
%(process)d
列印程序id
%(message)s
列印日誌資訊
Python學習 日誌模組 logging
作用 在邏輯容易出錯位置手動新增日誌功能,記錄報錯資訊到檔案,以被排錯 特點 非自動記錄,為人工指定位置,指定報錯資訊內容 提供五種模式 debug info warning error critical 預設從warning開始輸出,可以根據需求 調整預設寫入檔案是追加a模式 二 logging模...
日誌模組 logging模組
logging.debug 通常除錯時用到的日誌資訊 logging.info 證明事情按照預期的那樣工作 longging.warning 表明發生了意外,或者不就得將來發生的問題 如 磁碟滿了 軟體還是正常的工作 longging.error 由於更嚴重的問題導致軟體已經不能繼續執行某些功能 l...
logging日誌模組
日誌級別日誌輸出 將日誌輸出到控制台 log1.py 如下 import logging logging.basicconfig level logging.warning,format asctime s filename s line lineno d levelname s message s...