亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

Python logging模塊進(jìn)行封裝實(shí)現(xiàn)原理解析

瀏覽:6日期:2022-07-14 16:25:42

1. 簡(jiǎn)介

      追蹤某些軟件運(yùn)行時(shí)所發(fā)生事件的方法, 可以在代碼中調(diào)用日志中某些方法來記錄發(fā)生的事情

一個(gè)事件可以用一個(gè)可包含可選變量數(shù)據(jù)的消息來描述

事件有自己的重要性等級(jí)

2. 使用logging日志系統(tǒng)四大組件

loggers日志器 提供應(yīng)用程序代碼直接使用的接口 handlers處理器 用于將日志記錄發(fā)送到指定的目的位置 filters過濾器 過濾, 決定哪些輸出哪些日志記錄, 其余忽略 formatters格式器 控制日志輸出格式

使用代碼如下

import os, time, logging, sysfrom Common.plugs.get_config import r_configBASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))if sys.platform == 'win32': ENV_CONF_DIR = os.path.join(BASE_DIR, ’Common/conf/env_config.ini’).replace(’/’, ’’)else: ENV_CONF_DIR = os.path.join(BASE_DIR, ’Common/conf/env_config.ini’)log_path = r_config(ENV_CONF_DIR, 'log', 'log_path')class Log: def __init__(self, log_path): self.logName = os.path.join(log_path, ’{0}.log’.format(time.strftime(’%Y-%m-%d’))) def console_log(self, level, message): # 創(chuàng)建一個(gè)logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 創(chuàng)建一個(gè)handler,用于 debug 寫入日志文件 debug_file = logging.FileHandler(self.logName, ’a+’, encoding=’utf-8’) debug_file.setLevel(logging.DEBUG) # 再創(chuàng)建一個(gè)handler,用于輸出到控制臺(tái) ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 定義handler的輸出格式 formatter = logging.Formatter(’%(asctime)s - %(name)s - %(levelname)s - %(message)s’) debug_file.setFormatter(formatter) ch.setFormatter(formatter) # 給logger添加handler logger.addHandler(debug_file) logger.addHandler(ch) # 記錄一條日志 if level == ’info’: logger.info(message) elif level == ’debug’: logger.debug(message) elif level == ’warning’: logger.warning(message) elif level == ’error’: logger.error(message) elif level == ’critical’: logger.critical(message) logger.removeHandler(ch) logger.removeHandler(debug_file) debug_file.close() def debug(self, message): #最詳細(xì)日志信息, 多用于問題診斷 self.console_log(’debug’, message) def info(self, message): #僅次于DEBUG, 多用于記錄關(guān)鍵點(diǎn)信息, 確保程序按預(yù)期執(zhí)行 self.console_log(’info’, message) def warning(self, message): #低等級(jí)故障, 但程序仍能運(yùn)行, 如磁盤空間不足警告 self.console_log(’warning’, message) def error(self, message): #由于比WARNING嚴(yán)重的問題, 導(dǎo)致某些功能不能正常運(yùn)行時(shí)的記錄 self.console_log(’error’, message) def critical(self, message): 嚴(yán)重錯(cuò)誤, 導(dǎo)致應(yīng)用程序不能繼續(xù)運(yùn)行時(shí)的記錄 self.console_log(’critical’, message)if __name__ == ’__main__’: Log(log_path).info('adasd') Log(log_path).error('dsadasddasd')’’’

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 手机看片亚洲 | 亚洲色欧美 | 一级aaaaaa毛片免费 | 免费一区二区三区久久 | 欧美激情视频在线观看一区二区三区 | 99久久99这里只有免费费精品 | 欧美一区二区三区视频在线 | 青青热久久综合网伊人 | 欧美一级毛片欧美毛片视频 | 亚洲视频免 | 亚洲国产成人精品一区二区三区 | 久久99国产精一区二区三区! | 中文日韩字幕 | 尹人成人 | 国产成 人 综合 亚洲绿色 | 免费看一级欧美毛片视频 | 免费视频一区二区 | 在线视频一区二区三区三区不卡 | 亚洲国产2017男人a天堂 | 久久香焦 | 欧美一级看片免费观看视频在线 | 日本无卡码一区二区三区 | 欧美激情性色生活片在线观看 | 世界一级毛片 | 亚洲欧美一区二区三区久本道 | 国产伦理久久精品久久久久 | 高清日本在线成人免费视频 | 国产成人精品一区二三区2022 | 久久有精品| 岛国毛片在线观看 | 成人黄色一级片 | 久久er热这里只有精品免费 | 性欧美video另类bd | 日本亚洲欧美高清专区vr专区 | 精品视频在线免费播放 | 宫女淫春3在线观 | 成人男女18免费o | 欧美一区二区在线观看 | 国产青草 | 精品一久久香蕉国产线看播放 | 亚洲欧美中文在线观看4 |