python logging一个通用的使用模板

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 笔记
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='jiekou', 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

使用后日志展示如图所示

[2017-10-16 20:54:46.439386] INFO: jiekou: 当前模块 requests封装
[2017-10-16 20:54:46.900412] INFO: jiekou: 当前模块 解析测试用例文件
[2017-10-16 20:54:47.323436] INFO: jiekou: 当前模块 解析测试用例文件
[2017-10-16 20:54:47.332437] INFO: jiekou: 当前模块 测试
[2017-10-16 20:54:47.554450] INFO: jiekou: inputdata> 参数:sasa, url:http://www.tuling123.com/openapi/api ,返回:{'code': 40001, 'text': '亲爱的,key不对哦。'},预期:code=40001
[2017-10-16 20:54:47.556450] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:47.654455] INFO: jiekou: inputdata> 参数:, url:http://www.tuling123.com/openapi/api
 ,返回:{'code': 40002, 'text': '有啥事吗?'},预期:code=40002
[2017-10-16 20:54:47.656455] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:48.161484] INFO: jiekou: inputdata> 参数:, url:https://api.douban.com/v2/photo/:id ,返回:{'msg': 'uri_not_found', 'code': 1001, 'request': 'POST /v2/photo/:id'},预期:code=1001&msg=uri_not_found
[2017-10-16 20:54:48.163484] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:48.230488] INFO: jiekou: 当前模块 保存测试结果
[2017-10-16 20:54:56.272948] INFO: jiekou: 当前模块 requests封装
[2017-10-16 20:54:56.295950] INFO: jiekou: 当前模块 解析测试用例文件
[2017-10-16 20:54:56.323951] INFO: jiekou: 当前模块 解析测试用例文件
[2017-10-16 20:54:56.330952] INFO: jiekou: 当前模块 测试
[2017-10-16 20:54:56.548964] INFO: jiekou: inputdata> 参数:sasa, url:http://www.tuling123.com/openapi/api ,返回:{'code': 40001, 'text': '亲爱的,key不对哦。'},预期:code=40001
[2017-10-16 20:54:56.548964] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:56.636969] INFO: jiekou: inputdata> 参数:, url:http://www.tuling123.com/openapi/api
 ,返回:{'code': 40002, 'text': '有些话,难以说出口?'},预期:code=40002
[2017-10-16 20:54:56.638969] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:56.844981] INFO: jiekou: inputdata> 参数:, url:https://api.douban.com/v2/photo/:id ,返回:{'msg': 'uri_not_found', 'code': 1001, 'request': 'POST /v2/photo/:id'},预期:code=1001&msg=uri_not_found
[2017-10-16 20:54:56.846981] INFO: jiekou: 当前模块 断言测试结果
[2017-10-16 20:54:56.888984] INFO: jiekou: 当前模块 保存测试结果


相关文章
|
5月前
|
大数据 Python
Python 采集87个手绘风格PPT模板
Python 采集87个手绘风格PPT模板
77 1
|
5月前
|
SQL 前端开发 JavaScript
Python 教程之 Django(10)模板
Python 教程之 Django(10)模板
61 0
|
5月前
|
Python
Python 采集77个教学课件PPT模板
Python 采集77个教学课件PPT模板
71 0
|
14天前
|
存储 Python
Python Logging 限制文件大小
Python Logging 限制文件大小
19 3
|
1月前
|
存储 Python
Python Logging 限制文件大小
Python Logging 限制文件大小
21 3
|
27天前
|
存储 Python
Python Logging 限制文件大小
Python Logging 限制文件大小
43 0
|
28天前
|
开发者 Python
30天拿下Python之logging模块
30天拿下Python之logging模块
12 0
|
2月前
|
存储 JSON 安全
python logging模块
python logging模块
|
2月前
|
前端开发 JavaScript 数据库
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
2月前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块