国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python logging模塊原理解析及應(yīng)用

瀏覽:27日期:2022-07-14 10:47:54

一、logging日志模塊等級(jí)

常見log級(jí)別從高到低:

CRITICAL 》ERROR 》WARNING 》INFO 》DEBUG,默認(rèn)等級(jí)為WARNING,即>=WARNING級(jí)別的log才輸出。

日志等級(jí)(level) 描述 CRITICAL 當(dāng)發(fā)生嚴(yán)重錯(cuò)誤,導(dǎo)致應(yīng)用程序不能繼續(xù)運(yùn)行時(shí)記錄的信息 ERROR 由于一個(gè)更嚴(yán)重的問題導(dǎo)致某些功能不能正常運(yùn)行時(shí)記錄的信息 WARNING 當(dāng)某些不期望的事情發(fā)生時(shí)記錄的信息(如,磁盤可用空間較低),但是此時(shí)應(yīng)用程序還是正常運(yùn)行的 INFO 信息詳細(xì)程度僅次于DEBUG,通常只記錄關(guān)鍵節(jié)點(diǎn)信息,用于確認(rèn)一切都是按照我們預(yù)期的那樣進(jìn)行工作 DEBUG 最詳細(xì)的日志信息,典型應(yīng)用場(chǎng)景是 問題診斷

二、logging模塊的使用方式介紹

logging模塊提供了兩種記錄日志的方式:

第一種方式是使用logging提供的模塊級(jí)別的函數(shù) 第二種方式是使用Logging日志系統(tǒng)的四大組件

其實(shí),logging所提供的模塊級(jí)別的日志記錄函數(shù)也是對(duì)logging日志系統(tǒng)相關(guān)類的封裝而已。

(1)logging模塊定義的模塊級(jí)別的常用函數(shù)

函數(shù) 說明 logging.debug(msg, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為DEBUG的日志記錄 logging.info(msg, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為INFO的日志記錄 logging.warning(msg, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為WARNING的日志記錄 logging.error(msg, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為ERROR的日志記錄 logging.critical(msg, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為CRITICAL的日志記錄 logging.log(level, *args, **kwargs) 創(chuàng)建一條嚴(yán)重級(jí)別為level的日志記錄 logging.basicConfig(**kwargs) 對(duì)root logger進(jìn)行一次性配置

其中l(wèi)ogging.basicConfig(**kwargs)函數(shù)用于指定“要記錄的日志級(jí)別”、“日志格式”、“日志輸出位置”、“日志文件的打開模式”等信息,其他幾個(gè)都是用于記錄各個(gè)級(jí)別日志的函數(shù)。

(2)logging模塊的四大組件

組件 說明 loggers 提供應(yīng)用程序代碼直接使用的接口 handlers 用于將日志記錄發(fā)送到指定的目的位置 filters 提供更細(xì)粒度的日志過濾功能,用于決定哪些日志記錄將會(huì)被輸出(其它的日志記錄將會(huì)被忽略) formatters 用于控制日志信息的最終輸出格式

三、自定義Logger模塊類

# testLog1.pyimport loggingimport timeclass Logger(): def __init__(self, logger, level=logging.DEBUG): ’’’ : 自定義Logger模塊類 : logger: logger名 : level: 日志級(jí)別 ’’’ # 創(chuàng)建一個(gè)logger self.logger = logging.getLogger(logger) self.logger.setLevel(level) # 定義handler的輸出格式 curr_time = time.strftime('%Y-%m-%d') self.LogFileName = ’log’ + curr_time + ’.txt’ fmt = logging.Formatter(’%(asctime)s - %(filename)s:[%(lineno)s] - [%(levelname)s] - %(message)s’) # asctime: 日志事件發(fā)生的時(shí)間 # filename: 源文件的名稱部分,包含文件后綴 # lineno: 調(diào)用日志記錄函數(shù)的源代碼所在的行號(hào) # evelname: 該日志記錄的文字形式的日志級(jí)別 # message: 日志記錄的文本內(nèi)容 # 創(chuàng)建一個(gè)handler, 用于寫入日志文件 fh = logging.FileHandler(self.LogFileName) fh.setLevel(logging.DEBUG) fh.setFormatter(fmt) # 再創(chuàng)建一個(gè)handler,用于輸出到控制臺(tái) ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(fmt) # 給logger添加handler self.logger.addHandler(fh) self.logger.addHandler(ch) # level優(yōu)先級(jí) # logger.setLevel > handler.setLevel > logging.basicConfigif __name__ == '__main__': log = Logger(__name__, level=logging.DEBUG) log.logger.debug(’debug’) log.logger.log(logging.DEBUG, ’debug’)# 執(zhí)行testLog1.py,則控制臺(tái)輸出如下:2020-08-03 20:36:47,104 - testLog1.py:[117] - [DEBUG] - debug2020-08-03 20:36:47,104 - testLog1.py:[118] - [DEBUG] - debug# 日志文件記錄如下:2020-08-03 20:36:15,982 - testLog1.py:[117] - [DEBUG] - debug2020-08-03 20:36:15,982 - testLog1.py:[118] - [DEBUG] - debug

# testLog2.pyfrom testLog1 import Loggerimport tracebacklog = Logger(__name__)def func(): try: assert 1==2 except Exception: log.logger.info(’測(cè)試失敗,輸出信息如下:{}’.format(traceback.format_exc()))# traceback.format_exc() 會(huì)返回異常信息的字符串if __name__ == '__main__': func()# 執(zhí)行testLog2.py,則控制臺(tái)輸出如下:2020-08-03 20:43:44,907 - testLog2.py:[11] - [INFO] - 測(cè)試失敗,輸出信息如下:Traceback (most recent call last): File 'E:/imooc/testLog.py', line 9, in func assert 1==2AssertionError# 日志文件記錄如下:2020-08-03 20:43:44,907 - testLog2.py:[11] - [INFO] - 測(cè)試失敗,輸出信息如下:Traceback (most recent call last): File 'E:/imooc/testLog.py', line 9, in func assert 1==2AssertionError

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 一区二区三区四区视频在线 | 一区二区三区四区在线免费观看 | 欧美三级在线观看不卡视频 | 日韩国产精品欧美一区二区 | 中文在线免费视频 | 欧美成人中文字幕 | 久久88香港三级台湾三级中文 | 中文字幕国产视频 | 亚洲精品国产精品国自产 | 亚洲精品成人久久 | 永久毛片| 国产爱视频 | 久久精品在现线观看免费15 | 欧美一级视 | 久久手机精品视频 | 亚洲产国偷v产偷v自拍涩爱 | 91久久线看在观草草青青 | 欧美激情中文字幕 | 亚洲一区2区三区4区5区 | 色偷偷在线刺激免费视频 | 欧美精品午夜毛片免费看 | 欧美色老头oldvideo | 久久在线综合 | 黄网站色成年小说系列 | 精品国产看高清国产毛片 | 国产九九视频在线观看 | 亚洲经典三级 | 免费人成年短视频在线观看免费网站 | 怡红院免费播放全部视频 | 欧美国产永久免费看片 | 国产男女爽爽爽免费视频 | 久久精品国产精品亚洲精品 | 美女视频网站色 | a级毛片毛片免费很很综合 a级毛片免费 | 长腿嫩模打开双腿呻吟 | 日本一本久 | 久久青草热| 欧美成人a视频 | 精品99在线观看 | 欧美一区二区三区免费播放 | 欧美怡红院免费的视频 |