【Python】logging内置模块基本使用
logging模塊是Python內置的標準模塊,主要用于輸出運行日志,可以設置輸出日志的等級、日志保存路徑、日志文件回滾等。
print也可以輸入日志,logging相對print來說更好控制輸出在哪個地方,怎么輸出及控制消息級別來過濾掉那些不需要的信息。
一條日志信息對應的是一個事件的發生,而一個事件通常需要包括以下幾個內容:
事件發生時間
事件發生位置
事件的嚴重程度--日志級別
事件內容
上面這些都是一條日志記錄中可能包含的字段信息,當然還可以包括一些其他信息,如進程ID、進程名稱、線程ID、線程名稱等。
日志格式就是用來定義一條日志記錄中包含那些字段的,且日志格式通常都是可以自定義的。
一、日志級別:
默認生成的root logger的level是logging.WARNING,低于該級別的就不輸出了
級別排序:CRITICAL > ERROR > WARNING > INFO > DEBUG
debug : 打印全部的日志,詳細的信息,通常只出現在診斷問題上
info : 打印info,warning,error,critical級別的日志,確認一切按預期運行
warning : 打印warning,error,critical級別的日志,一個跡象表明,一些意想不到的事情發生了,或表明一些問題在不久的將來(例如。磁盤空間低”),這個軟件還能按預期工作
error : 打印error,critical級別的日志,更嚴重的問題,軟件沒能執行一些功能
critical : 打印critical級別,一個嚴重的錯誤,這表明程序本身可能無法繼續運行
二、常用函數:
logging.getLogger() 初始化一個logger
Logger.setLevel() ??設置總日志級別
logger.addHandler() 日志處理
logging.FileHandler() ??日志存儲到文件
logging.StreamHandler() 日志輸出到控制臺
logging.Formatter() ????日志格式
setFormatter() ?????設置日志格式
setLevel() ? ? ? ? ?設置具體日志級別
三、format常用格式說明
%(asctime)s: 打印日志的時間
%(name)s: 打印模塊名稱
%(levelname)s: 打印日志級別名稱
%(message)s: 打印日志信息
%(levelno)s: 打印日志級別的數值
%(pathname)s: 打印當前執行程序的路徑,其實就是sys.argv[0]
%(filename)s: 打印當前執行程序名
%(funcName)s: 打印日志的當前函數
%(lineno)d: 打印日志的當前行號
%(thread)d: 打印線程ID
%(threadName)s: 打印線程名稱
%(process)d: 打印進程ID
總結
以上是生活随笔為你收集整理的【Python】logging内置模块基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 量子计算机怎么算有用,如何在量子计算机上
- 下一篇: emulator教程 lbochs pc