qq三国 逃犯坐标,猫咪老师桌面精灵,花都秀全中学
logging 模块的基本使用
import logging # python内置的日志模块 # 1. 定义日志收集器,使用.getlogger方法,收集器的名字case case_logger = logging.getlogger("case") # 会创建一个logger对象 # 2. 指定日志收集器的日志等级,使用logging对象中.setlevel方法 # notset(0), debug(10), info(20)--, warning(30), error(40), critical(50) # 方法一 setlevel(赛特。莱欧) # case_logger.setlevel(logging.debug) # 只能收集当前等级和当前等级以上级别的日志 # 方法二 setlevel(赛特。莱欧) case_logger.setlevel("debug") # 3. 定义日志输出渠道 # 输出到控制台,使用logging(老根)当中的.streamhandler(丝锥木汗都) console_handle = logging.streamhandler() # handler对象 # 输出到文件,使用logging(老根)当中的.filehandler(发偶。憨豆)方法,(指定文件名, 默认a以追加的方式,) file_handle = logging.filehandler("cases.log", encoding="utf-8") # 4. 指定日志输出渠道的日志等级,使用对象.setlevel(赛特。莱欧)方法 console_handle.setlevel(logging.error) file_handle.setlevel(logging.info) # 5. 定义日志显示的格式,logging(老根)当中的 formatter(佛梅特) 函数 # 简单点的格式 simple_formatter = logging.formatter('%(asctime)s - [%(levelname)s] - [msg]: %(message)s') # 详细的格式 verbose_formatter = logging.formatter('%(asctime)s - [%(levelname)s] - [msg]: %(message)s - %(name)s - %(lineno)d') # 控制台显示简洁的日志,setformatter(赛特否梅特)函数 console_handle.setformatter(simple_formatter) # 日志文件中显示详细日志 file_handle.setformatter(verbose_formatter) # 6. 对接, 将日志收集器与输出渠道对接,收集器中addhandler(按得,憨豆)函数 case_logger.addhandler(console_handle) case_logger.addhandler(file_handle)
日志等级
日志显示的格式
logging 模块的封装
# 封装处理日志的类 import logging from danyuan.handle_config import do_config # 从配置文件中获取 class handlelog: """ 封装处理日志的类 """ def __init__(self): # 1. 定义日志收集器 self.case_logger = logging.getlogger(do_config.get_value("log", "logger_name")) # 2. 指定日志收集器的日志等级 self.case_logger.setlevel(do_config.get_value("log", "logger_level")) # 3. 定义日志输出渠道 console_handle = logging.streamhandler() # 定义日志输出到控制台 file_handle = logging.filehandler(do_config.get_value("log", "log_filename"), encoding="utf-8") # 定义日志输出到文件 # 4. 指定日志输出渠道的日志等级 console_handle.setlevel(do_config.get_value("log", "console_level")) file_handle.setlevel(do_config.get_value("log", "file_level")) # 5. 定义日志显示的格式 simple_formatter = logging.formatter(do_config.get_value("log", "simple_formatter")) # 简单点的格式 verbose_formatter = logging.formatter(do_config.get_value("log", "verbose_formatter")) # 详细的格式 console_handle.setformatter(simple_formatter) # 控制台显示简洁的日志 file_handle.setformatter(verbose_formatter) # 日志文件中显示详细日志 # 6. 对接, 将日志收集器与输出渠道对接 self.case_logger.addhandler(console_handle) self.case_logger.addhandler(file_handle) def get_logger(self): """ 获取logger日志对象 :return: """ return self.case_logger # do_log = handlelog().get_logger() # 实例化对象 if __name__ == '__main__': do_log = handlelog() case_logger = do_log.get_logger() case_logger.debug("这是一个debug级别的日志") # 手动记录日志 case_logger.info("这是一个info级别的日志") case_logger.warning("这是一个warning级别的日志") case_logger.error("这是一个error级别的日志") case_logger.critical("这是一个critical级别的日志")
*******请大家尊重原创,如要转载,请注明出处:转载自: 谢谢!!*******
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
python求numpy中array按列非零元素的平均值案例
网友评论