亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Python logging模塊進行封裝實現原理解析

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

1. 簡介

      追蹤某些軟件運行時所發生事件的方法, 可以在代碼中調用日志中某些方法來記錄發生的事情

一個事件可以用一個可包含可選變量數據的消息來描述

事件有自己的重要性等級

2. 使用logging日志系統四大組件

loggers日志器 提供應用程序代碼直接使用的接口 handlers處理器 用于將日志記錄發送到指定的目的位置 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): # 創建一個logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 創建一個handler,用于 debug 寫入日志文件 debug_file = logging.FileHandler(self.logName, ’a+’, encoding=’utf-8’) debug_file.setLevel(logging.DEBUG) # 再創建一個handler,用于輸出到控制臺 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): #最詳細日志信息, 多用于問題診斷 self.console_log(’debug’, message) def info(self, message): #僅次于DEBUG, 多用于記錄關鍵點信息, 確保程序按預期執行 self.console_log(’info’, message) def warning(self, message): #低等級故障, 但程序仍能運行, 如磁盤空間不足警告 self.console_log(’warning’, message) def error(self, message): #由于比WARNING嚴重的問題, 導致某些功能不能正常運行時的記錄 self.console_log(’error’, message) def critical(self, message): 嚴重錯誤, 導致應用程序不能繼續運行時的記錄 self.console_log(’critical’, message)if __name__ == ’__main__’: Log(log_path).info('adasd') Log(log_path).error('dsadasddasd')’’’

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: a级情欲视频免费观看 | 久久精品视频16 | 国产成人影院 | 善良的翁熄日本在线观看 | 狠狠色欧美亚洲狠狠色五 | 东莞毛片| 视频在线一区 | 亚洲成人免费网站 | 成人免费一级毛片在线播放视频 | 黄片毛片在线免费看 | 久久免费精彩视频 | 精品国产看高清国产毛片 | 视频一二三区 | 日韩高清在线不卡 | 国产免费又色又爽又黄在线观看 | 欧美一二三区 | 国产三级成人 | 国产亚洲一区二区手机在线观看 | 久久亚洲精品无码观看不卡 | 国产各种盗摄视频 | 一级片一级片一级片 | 久久久久久免费视频 | 日本特黄特黄特刺激大片 | 国产精品日韩一区二区三区 | 91久久亚洲最新一本 | 国产图片综合区 | 黄色网页免费 | 在线中文天堂 | 一区二区免费视频观看 | 免费一区视频 | 久久草影视 | 亚洲成a人片在线观看播放 亚洲成a人片在线播放观看国产 | 亚洲自偷自拍另类12p | 青草视频在线播放 | 国产日韩精品视频 | 91轻吻 | 日本免费高清一区 | 成人午夜又粗又硬有大 | 国产欧美在线观看精品一区二区 | 男啪女视频免费观看网站 | 国产精品国产三级在线专区 |