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 fileinput模块使用实例
May 28 Python
利用python代码写的12306订票代码
Dec 20 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
Python正规则表达式学习指南
Aug 02 Python
Python之os操作方法(详解)
Jun 15 Python
Python实现的凯撒密码算法示例
Apr 12 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
用python拟合等角螺线的实现示例
Dec 27 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
python办公自动化之excel的操作
May 23 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文件怎么打开 如何执行php文件
2011/12/21 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
prototype 的说明 js类
2006/09/07 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
python爬虫实现中英翻译词典
2019/06/25 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Python中logging日志库实例详解
2020/02/19 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
外企财务年会演讲稿
2014/01/03 职场文书
认购协议书范本
2014/04/22 职场文书
考核评语大全
2014/04/29 职场文书
复兴之路展览观后感
2015/06/02 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书