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