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 md5与sha1加密算法用法分析
Jul 14 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
python画折线图的程序
Jul 26 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python设置环境变量的作用和实例
Jul 09 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
Python实现井字棋小游戏
Mar 09 Python
Python unittest框架操作实例解析
Apr 13 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 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数组实例总结与说明
2011/08/23 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
Python库urllib与urllib2主要区别分析
2014/07/13 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python使用selenium实现批量文件下载
2019/03/11 Python
pytorch 预训练层的使用方法
2019/08/20 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
市场推广策划方案
2014/06/02 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS