Python实现监控程序执行时间并将其写入日志的方法


Posted in Python onJune 30, 2015

本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法。分享给大家供大家参考。具体实现方法如下:

# /usr/bin/python
# -*- coding:utf-8 -*-
from time import time
def logged(when):
  def log(f,*args,**kargs):
    print '''
         called:
          functions:%s
          args: %r
          kargs: %r
    '''  % (f,args,kargs)
  def pre_logged(f):
    def wrapper(*args,**kargs):
      log(f,*args,**kargs)
      return f(*args,**kargs)
    return wrapper
  def post_logged(f):
    def wrapper(*args,**kargs):
      now = time()
      try:
        return f(*args,**kargs)
      finally:
        log(f,*args,**kargs)
        print "time delta:%s" % (time()-now)
    return wrapper
  try:
    return {"pre":pre_logged,"post":post_logged}[when]
  except KeyError,e:
    raise ValueError(e),'must be "pre" or "post"'
@logged("post")
def hello(name):
  print "hello,",name
hello("world!")
'''
等同于: hello = logged("post")(hello("world!"))
'''

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

Python 相关文章推荐
python sqlobject(mysql)中文乱码解决方法
Nov 14 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
python实现爬取图书封面
Jul 05 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
python中Lambda表达式详解
Nov 20 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
Python类如何定义私有变量
Feb 03 Python
聊聊python中的异常嵌套
Sep 01 Python
python实现爬取千万淘宝商品的方法
Jun 30 #Python
python简单判断序列是否为空的方法
Jun 30 #Python
python检查序列seq是否含有aset中项的方法
Jun 30 #Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 #Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 #Python
python获得文件创建时间和修改时间的方法
Jun 30 #Python
python读写ini配置文件方法实例分析
Jun 30 #Python
You might like
PHP中的CMS的涵义
2007/03/11 PHP
php创建多级目录代码
2008/06/05 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
js使用心得分享
2015/01/13 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
Vue中正确使用jQuery的方法
2017/10/30 jQuery
javascript中undefined的本质解析
2019/07/31 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
python读取Android permission文件
2013/11/01 Python
Python 操作MySQL详解及实例
2017/04/30 Python
python 格式化输出百分号的方法
2019/01/20 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
python的slice notation的特殊用法详解
2019/12/27 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
经典优秀个人求职信分享
2013/12/12 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python