python 之logging 封装为基础类
"""
参考文档:https://www.cnblogs.com/yyds/p/6901864.html
logging模块的四大组件:
loggers(日志器):提供应用程序代码直接使用的接口
handlers(处理器):用于将日志记录发送到指定的目的位置
filters(过滤器):提供更细粒度的日志过滤功能,用于决定哪些日志记录将会被输出(其它的日志记录将会被忽略)
formatters(格式器):用于控制日志信息的最终输出格式
"""
1 import logging 2 import logging.handlers 3 import time 4 from testcase.basic import get_project_path 5 6 7 def get_logger(): 8 # 第一步,创建一个logger 9 logger = logging.getLogger() 10 # 设置log日志等级 11 logger.setLevel(logging.INFO) 12 # 第二步,创建一个handler,用于写入日志文件 13 strf_time = time.strftime("%Y%m%d%H%M%S", time.localtime(time.time())) 14 project_path = get_project_path.get_project_path() # 获取项目跟目录,获取项目根路径的方法,之前发过,请翻阅一下。 15 filename = project_path + '/log/' + strf_time + '.log' # 定义日志存放路径及名称 16 # 创建 hander,设置日志切割时间(半夜),按天存放,最多存放7个日志文件 17 rf_handler = logging.handlers.TimedRotatingFileHandler(filename, when='midnight', interval=1, backupCount=7 18 , encoding="UTF-8") 19 # 第三步,定义handler的输出格式 20 data_format = "%Y-%m-%d %H:%M:%S" 21 rf_handler.setFormatter(logging.Formatter("%(asctime)s-%(filename)s-%(funcName)s[line:%(lineno)d]-%(levelname)s:%(" 22 "message)s", datefmt=data_format)) 23 # 第四步,将logger添加到handler里面,并返回 24 logger.addHandler(rf_handler) 25 return logger 26 27 28 if __name__ == '__main__': 29 def test01(): 30 logger = get_logger() 31 logger.debug('***debug***') 32 logger.info('***信息***') 33 logger.warning('***警告***') 34 logger.error('***error***') 35 logger.critical('***critical***') 36 test01()
运行后效果:

本文来自博客园,作者:别摸我的马甲线,转载请注明原文链接:https://www.cnblogs.com/a-wyw/p/16186474.html

浙公网安备 33010602011771号