Python使用logging结合decorator模式实现优化日志输出的方法

本文实例讲述了python使用logging结合decorator模式实现优化日志输出的方法。分享给大家供大家参考,具体如下:

python内置的loging模块非常简便易用, 很适合程序运行日志的输出。

而结合python的装饰器模式,则可实现简明实用的代码。测试代码如下所示:

#! /usr/bin/env python2.7# -*- encoding: utf-8 -*-import logginglogging.basicConfig(format='[%(asctime)s] %(message)s', level=logging.INFO)def time_recorder(func):  """装饰器, 用在func方法执行前后, 增加运行信息"""  def wrapper():    logging.info("Begin to execute function: %s" % func.__name__)    func()    logging.info("Finish executing function: %s" % func.__name__)  return wrapper@time_recorderdef first_func():  print "I'm first_function. I'm doing something..."@time_recorderdef second_func():  print "I'm second_function. I'm doing something..."if __name__ == "__main__":  first_func()  second_func()

登录后复制

运行并得到输出:

[2014-04-01 18:02:13,724] Begin to execute function: first_funcI'm first_function. I'm doing something...[2014-04-01 18:02:13,725] Finish executing function: first_func[2014-04-01 18:02:13,725] Begin to execute function: second_funcI'm second_function. I'm doing something...[2014-04-01 18:02:13,725] Finish executing function: second_func

登录后复制

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

立即学习“Python免费学习笔记(深入)”;

希望本文所述对大家Python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2536438.html

(0)
上一篇 2025年3月5日 23:30:38
下一篇 2025年2月23日 19:02:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python多进程分块读取超大文件的方法

    本文实例讲述了python多进程分块读取超大文件的方法。分享给大家供大家参考,具体如下: 读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件 # -*- coding: GBK -*-import urlparseimport …

    编程技术 2025年3月5日
    000
  • Python字符串拼接、截取及替换方法总结分析

    本文实例讲述了python字符串拼接、截取及替换方法。分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看了书以后就用了后面的2种效率高的方法,跟大家分享一下。…

    编程技术 2025年3月5日
    200
  • Python使用redis pool的一种单例实现方式

    本文实例讲述了python使用redis pool的一种单例实现方式。分享给大家供大家参考,具体如下: 为适应多个redis实例共享同一个连接池的场景,可以类似于以下单例方式实现: import redisclass RedisDBConf…

    编程技术 2025年3月5日
    200
  • Python字符串格式化输出方法分析

    本文实例分析了python字符串格式化输出方法。分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = ‘python’astr = ‘i love %s’ % mprint astr 登录后复制 2…

    编程技术 2025年3月5日
    200
  • 说一说Python logging

    最近有个需求是把以前字符串输出的log 改为json 格式,看了别人的例子,还是有些比较茫然,索性就把logging 整个翻了一边,做点小总结. 初看log 在程序中, log 的用处写代码的你用你知道,log 有等级,DEBUG, INF…

    2025年3月5日
    200
  • Python Web框架Tornado运行和部署

    本文实例为大家分享了python web框架tornado运行和部署的详细内容,供大家参考,具体内容如下 一、运行和部署因为Tornado内置了自己的HTTPServer,运行和部署它与其他Python web框架不太一样。你需要写一个ma…

    编程技术 2025年3月5日
    200
  • python字符串连接方法分析

    本文实例分析了python字符串连接方法。分享给大家供大家参考,具体如下: python字符串连接有几种方法,把大家可能用到的列出来,第一个方法效率是最低的,另外给大家介绍后面的 2种效率高的方法,希望对大家有帮助。 先介绍下效率比较低的,…

    编程技术 2025年3月5日
    200
  • python去除文件中空格、Tab及回车的方法

    本文实例讲述了python去除文件中空格、tab及回车的方法。分享给大家供大家参考,具体如下: 在最近的开发工作中,为了应付比赛赶进度,服务端的json文件都是人工写的,写完之后发现格式都是十分规整,易于人阅读的json,但是客户端请求不需…

    编程技术 2025年3月5日
    200
  • Python调用SQLPlus来操作和解析Oracle数据库的方法

    先来看一个简单的利用python调用sqlplus来输出结果的例子: import osimport sysfrom subprocess import Popen, PIPE sql = “””set linesize 400col ow…

    编程技术 2025年3月5日
    100
  • python调用fortran模块

    在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对windows平台必须使用gnu的fortran编译器gfo…

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论