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计算三角函数之acos()方法的使用
May 15 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
pycharm安装和首次使用教程
Aug 27 Python
详解python分布式进程
Oct 08 Python
对python 命令的-u参数详解
Dec 03 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
python如何编写win程序
Jun 08 Python
python如何修改文件时间属性
Feb 05 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中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
js实现圆盘记速表
2015/08/03 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
vue axios数据请求及vue中使用axios的方法
2018/09/10 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中List.index()方法的使用教程
2015/05/20 Python
学习python 之编写简单乘法运算题
2016/02/27 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
Python线程同步的实现代码
2018/10/03 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
如何对python的字典进行排序
2020/06/19 Python
python判断元素是否存在的实例方法
2020/09/24 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
python+opencv实现车道线检测
2021/02/19 Python
群众路线教育实践活动方案
2014/02/02 职场文书
后备干部考察材料
2014/02/12 职场文书
小学英语课后反思
2014/04/26 职场文书
征求意见函
2015/06/05 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
Opencv实现二维直方图的计算及绘制
2021/07/21 Python