python——logging模块
簡介:?
日志是一種可以追蹤某些軟件運行時所發(fā)生事件的方法。軟件開發(fā)人員可以向他們的代碼中調(diào)用日志記錄相關(guān)的方法來表明發(fā)生了某些事情。不同的事件,被區(qū)分在不同的等級中,故通過log分析,可以很輕易地分析得到該應(yīng)用的健康狀況,及時發(fā)現(xiàn)問題并快速定位、解決問題,補(bǔ)救損失。python自帶的模塊logging可以實現(xiàn)日志的記錄功能,其下的日志級別共分為五個級別,級別順序為debug<info<warning<error<critical。logging模塊指定日志記錄器的日志級別,只有級別大于或等于該指定日志級別的日志記錄才會被輸出,小于該等級的日志記錄將會被丟棄。
日志的模塊使用
- 定義模塊級別函數(shù):用于指定觸發(fā)這個級別所報出的信息,通用方法是logging.log(level,*args,**kwargs),參數(shù)level是日志的等級。
- 對日志進(jìn)行基本配置:logging.basicConfig(**kwargs),可選參數(shù)如下:
- 日志的四大組件:loggers、handlers、filters、formatters。四大組件的應(yīng)用在下面會介紹。
logging模塊提供的模塊級別的那些函數(shù)實際上也是通過這幾個組件的相關(guān)實現(xiàn)類來記錄日志的,只是在創(chuàng)建這些類的實例時設(shè)置了一些默認(rèn)值。
- 格式字符化輸出:formatters控制日志信息輸出格式,在這個模塊內(nèi)已經(jīng)封裝好了自己的格式,如下圖所示:
代碼實例
經(jīng)過簡單配置,輸出日志記錄。
import logging logging.basicConfig(level= logging.DEBUG,filename='basic.log',format= '時間:%(asctime)s,''日志級別:%(levelname)s,''日志信息:%(message)s,''日志名字:%(name)s')logging.debug("This is a debug log.") logging.info("This is a info log.") logging.warning("This is a warning log.") logging.error("This is a error log.") logging.critical("This is a critical log.") 時間:2018-10-11 16:46:45,355,日志級別:DEBUG,日志信息:This is a debug log.,日志名字:root 時間:2018-10-11 16:46:45,355,日志級別:INFO,日志信息:This is a info log.,日志名字:root 時間:2018-10-11 16:46:45,355,日志級別:WARNING,日志信息:This is a warning log.,日志名字:root 時間:2018-10-11 16:46:45,356,日志級別:ERROR,日志信息:This is a error log.,日志名字:root 時間:2018-10-11 16:46:45,356,日志級別:CRITICAL,日志信息:This is a critical log.,日志名字:root可以發(fā)現(xiàn)默認(rèn)情況下,日志名字為root。
利用四大組件,認(rèn)識日志處理流程。
簡單點說就是:日志器(logger)是入口,真正干活兒的是處理器(handler),處理器(handler)還可以通過過濾器(filter)和格式器(formatter)對要輸出的日志內(nèi)容做過濾和格式化等處理操作。
轉(zhuǎn)載于:https://www.cnblogs.com/longwhite/p/10397703.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python——logging模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实际应用中git(合并本地与服务器项目)
- 下一篇: 科学家研发机器人混入南极企鹅群 获“友好