python logging一個通用的使用模板


 1 import os
 2 import logbook
 3 from logbook.more import ColorizedStderrHandler
 4 from functools import wraps
 5 check_path='.'
 6 LOG_DIR = os.path.join(check_path, 'log')
 7 file_stream = False
 8 if not os.path.exists(LOG_DIR):
 9     os.makedirs(LOG_DIR)
10     file_stream = True
11 def get_logger(name='jiekou', file_log=file_stream, level=''):
12     """ get logger Factory function """
13     logbook.set_datetime_format('local')
14 
15     ColorizedStderrHandler(bubble=False, level=level).push_thread()
16     logbook.TimedRotatingFileHandler(
17             os.path.join(LOG_DIR, '%s.log' % name),
18             date_format='%Y-%m-%d-%H', bubble=True, encoding='utf-8').push_thread()
19     return logbook.Logger(name)
20 
21 LOG = get_logger(file_log=file_stream, level='INFO')
22 def logger(param):
23     """ fcuntion from logger meta """
24     def wrap(function):
25         """ logger wrapper """
26         @wraps(function)
27         def _wrap(*args, **kwargs):
28             """ wrap tool """
29             LOG.info("當前模塊 {}".format(param))
30             # LOG.info("全部args參數參數信息 , {}".format(str(args)))
31             # LOG.info("全部kwargs參數信息 , {}".format(str(kwargs)))
32             return function(*args, **kwargs)
33         return _wrap
34     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: 當前模塊 保存測試結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM