# -*- coding: utf-8 -*- # @Date : 2017-10-14 15:35:17 # @Author : leizi '''日志模块''' import os import logbook from logbook.more import ColorizedStderrHandler from functools import wraps check_path = '.' LOG_DIR = os.path.join(check_path, 'log') file_stream = False if not os.path.exists(LOG_DIR): os.makedirs(LOG_DIR) file_stream = True def get_logger(name='interface_case_run', file_log=file_stream, level=''): """ get logger Factory function """ logbook.set_datetime_format('local') ColorizedStderrHandler(bubble=False, level=level).push_thread() logbook.TimedRotatingFileHandler( os.path.join(LOG_DIR, '%s.log' % name), date_format='%Y_%m_%d_%H', bubble=True, encoding='utf-8').push_thread() return logbook.Logger(name) LOG = get_logger(file_log=file_stream, level='INFO') def logger(param): """ fcuntion from logger meta """ def wrap(function): """ logger wrapper """ @wraps(function) def _wrap(*args, **kwargs): """ wrap tool """ LOG.info("当前模块 {}".format(param)) LOG.info("全部args参数参数信息 , {}".format(str(args))) LOG.info("全部kwargs参数信息 , {}".format(str(kwargs))) return function(*args, **kwargs) return _wrap return wrap