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