日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python logging模塊原理解析及應用

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

一、logging日志模塊等級

常見log級別從高到低:

CRITICAL 》ERROR 》WARNING 》INFO 》DEBUG,默認等級為WARNING,即>=WARNING級別的log才輸出。

日志等級(level) 描述 CRITICAL 當發生嚴重錯誤,導致應用程序不能繼續運行時記錄的信息 ERROR 由于一個更嚴重的問題導致某些功能不能正常運行時記錄的信息 WARNING 當某些不期望的事情發生時記錄的信息(如,磁盤可用空間較低),但是此時應用程序還是正常運行的 INFO 信息詳細程度僅次于DEBUG,通常只記錄關鍵節點信息,用于確認一切都是按照我們預期的那樣進行工作 DEBUG 最詳細的日志信息,典型應用場景是 問題診斷

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

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

第一種方式是使用logging提供的模塊級別的函數 第二種方式是使用Logging日志系統的四大組件

其實,logging所提供的模塊級別的日志記錄函數也是對logging日志系統相關類的封裝而已。

(1)logging模塊定義的模塊級別的常用函數

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

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

(2)logging模塊的四大組件

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

三、自定義Logger模塊類

# testLog1.pyimport loggingimport timeclass Logger(): def __init__(self, logger, level=logging.DEBUG): ’’’ : 自定義Logger模塊類 : logger: logger名 : level: 日志級別 ’’’ # 創建一個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: 日志事件發生的時間 # filename: 源文件的名稱部分,包含文件后綴 # lineno: 調用日志記錄函數的源代碼所在的行號 # evelname: 該日志記錄的文字形式的日志級別 # message: 日志記錄的文本內容 # 創建一個handler, 用于寫入日志文件 fh = logging.FileHandler(self.LogFileName) fh.setLevel(logging.DEBUG) fh.setFormatter(fmt) # 再創建一個handler,用于輸出到控制臺 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(fmt) # 給logger添加handler self.logger.addHandler(fh) self.logger.addHandler(ch) # level優先級 # logger.setLevel > handler.setLevel > logging.basicConfigif __name__ == '__main__': log = Logger(__name__, level=logging.DEBUG) log.logger.debug(’debug’) log.logger.log(logging.DEBUG, ’debug’)# 執行testLog1.py,則控制臺輸出如下: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(’測試失敗,輸出信息如下:{}’.format(traceback.format_exc()))# traceback.format_exc() 會返回異常信息的字符串if __name__ == '__main__': func()# 執行testLog2.py,則控制臺輸出如下:2020-08-03 20:43:44,907 - testLog2.py:[11] - [INFO] - 測試失敗,輸出信息如下: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] - 測試失敗,輸出信息如下:Traceback (most recent call last): File 'E:/imooc/testLog.py', line 9, in func assert 1==2AssertionError

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区天码| 亚洲精品自拍| 久久影视三级福利片| 欧美一区不卡| 久久精品99国产国产精| 久久国产精品免费一区二区三区 | 激情欧美一区| 免费观看不卡av| 99国内精品| 日韩影院精彩在线| 日韩在线观看中文字幕| 亚洲毛片在线| 日韩av一区二区在线影视| 日本不卡一区二区三区| 国产精品中文字幕制服诱惑| 老牛国内精品亚洲成av人片| 91视频精品| 欧美日韩视频| 亚州av日韩av| 国产极品一区| 中文在线а√在线8| 亚洲a在线视频| 99在线观看免费视频精品观看| 日韩精品一区第一页| 日韩av中文字幕一区二区三区| 国产精品久久久久av蜜臀| 国产理论在线| 韩日一区二区三区| 人人精品人人爱| 欧美亚洲tv| 高清av一区| 亚洲欧美日韩高清在线| 日韩超碰人人爽人人做人人添| 国产精品激情电影| 日韩精品网站| 最近国产精品视频| 麻豆精品蜜桃视频网站| 国产伊人精品| 日韩av资源网| 黄在线观看免费网站ktv| 婷婷综合在线| 欧美一区二区三区久久精品| 精品久久中文| 99国产成+人+综合+亚洲欧美| 婷婷精品在线| 欧美日韩视频网站| 亚洲三级网站| 麻豆网站免费在线观看| 蜜臀av一区二区三区| 九九九精品视频| 婷婷综合五月| 国产精品久久亚洲不卡| 另类中文字幕国产精品| 亚洲久久一区| 青青青免费在线视频| 最新国产精品久久久| 高清一区二区| 久久成人精品| 精品久久网站| 一区二区日韩免费看| 成人一区不卡| 亚洲+小说+欧美+激情+另类| 成人精品天堂一区二区三区| 日韩不卡一区二区三区| 婷婷色综合网| 精品国产三区在线| 亚洲bt欧美bt精品777| 另类中文字幕国产精品| 国产三级一区| 欧美a级片一区| 精品国产欧美日韩| 亚洲精品国产精品粉嫩| 日韩成人免费| 日本欧美韩国一区三区| 国产在线欧美| 久久精品人人| 日韩精品91亚洲二区在线观看| 成人久久久久| 欧美国产日本| 亚洲精品三级| 亚洲二区三区不卡| 日本久久黄色| 日韩av中文在线观看| 蜜桃国内精品久久久久软件9| 久久97视频| 国产调教精品| 日韩一区二区三免费高清在线观看| av中文字幕在线观看第一页 | 中文字幕乱码亚洲无线精品一区| 国产一区二区三区探花| 国产日韩一区二区三免费高清| 日韩一级精品| 久久九九电影| 97精品一区| 久久久久亚洲精品中文字幕| 91精品日本| 亚洲制服欧美另类| 在线午夜精品| 日韩另类视频| 另类专区亚洲| 福利在线免费视频| 国产精品一二| 日本欧美一区二区| 美国欧美日韩国产在线播放| 在线视频观看日韩| 国产拍在线视频| 欧美激情一区| 久久精品72免费观看| 日本成人一区二区| 亚洲tv在线| 亚洲精品中文字幕99999| 美国三级日本三级久久99| 国产精品婷婷| 欧美在线观看视频一区| 色在线视频观看| sm久久捆绑调教精品一区| 国产精品久久久久久久免费观看 | 欧美精品影院| 欧美日韩亚洲一区| 国产欧美日韩综合一区在线播放| 日本不卡中文字幕| 日本aⅴ免费视频一区二区三区| 亚洲精选av| 日本一区福利在线| 青草国产精品| 国产精品综合| 免费精品一区| 精品国产乱码久久久久久樱花| 精品一区二区三区的国产在线观看| 久久99精品久久久久久园产越南| 国产精品久久久久久久久久白浆 | 欧美日韩一区二区三区视频播放| 99久久久久| 亚洲欧洲另类| 自拍自偷一区二区三区| 日本麻豆一区二区三区视频| 国产精品久久免费视频| 久久精品国产在热久久| 伊人久久国产| 亚洲精品午夜av福利久久蜜桃| 中日韩男男gay无套| 亚洲一区国产| 中文字幕一区二区三区日韩精品 | 国产精品一级| 国产黄大片在线观看| 激情久久五月| 亚洲精品视频一二三区| 国产精品伊人| 国产精品久久观看| 99国产精品| 亚州欧美在线| 精品不卡一区| 韩日一区二区三区| 日韩精品乱码av一区二区| 麻豆极品一区二区三区| 日本精品不卡| 爽爽淫人综合网网站| 国产欧美69| 日韩免费看片| 亚洲一区二区成人| 国产精品视频一区二区三区四蜜臂| 国产精品2区| 欧美亚洲在线日韩| 亚洲精品系列| 国内一区二区三区| 国产综合精品| 婷婷成人av| 精品女同一区二区三区在线观看| 国产99亚洲| 777久久精品| 亚洲一级少妇| 亚洲精品一级| 日韩成人三级| 中文字幕一区二区av| 精品视频在线你懂得| 999在线观看精品免费不卡网站| 国产私拍福利精品视频二区| 久久视频一区| 91成人福利| 欧美一区二区三区高清视频 | 亚州av乱码久久精品蜜桃| 日韩av黄色在线| 亚洲a在线视频| 91伊人久久| 99久久婷婷| 久久激情av| 欧洲亚洲一区二区三区| 亚洲一区二区三区久久久| 成人一二三区| 亚洲精品黄色| 久久精品影视| 国产伦理一区| 天堂资源在线亚洲| 国产欧美日韩精品一区二区三区| 蜜桃视频欧美| 精品久久福利| 日本不卡在线视频| 欧美日韩国产精品一区二区亚洲| 麻豆精品蜜桃视频网站| 亚洲精品黄色|