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中的hashlib和base64加密模块使用实例
Sep 02 Python
python检测是文件还是目录的方法
Jul 03 Python
python魔法方法-属性访问控制详解
Jul 25 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
在Pandas中处理NaN值的方法
Jun 25 Python
Python 列表去重去除空字符的例子
Jul 20 Python
pytorch 可视化feature map的示例代码
Aug 20 Python
Python的条件锁与事件共享详解
Sep 12 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
TensorFlow固化模型的实现操作
May 26 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 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
ie6 动态缩略图不显示的原因
2009/06/21 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
深入浅析php json 格式控制
2015/12/24 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
Prototype Function对象 学习
2009/07/12 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
Javascript 面向对象 重载
2010/05/13 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
JavaScript语法约定和程序调试原理解析
2020/11/03 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
python之super的使用小结
2018/08/13 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
高级编程求职信模板
2014/02/16 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
护士工作失误检讨书
2014/09/14 职场文书
药店采购员岗位职责
2014/09/30 职场文书
中班教师个人总结
2015/02/05 职场文书