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抓取网页图片示例(python爬虫)
Apr 27 Python
python处理文本文件并生成指定格式的文件
Jul 31 Python
Python深入学习之对象的属性
Aug 31 Python
Python中for循环控制语句用法实例
Jun 02 Python
python数据结构之链表的实例讲解
Jul 25 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
python装饰器的特性原理详解
Dec 25 Python
Python标准库json模块和pickle模块使用详解
Mar 10 Python
Python基于paramunittest模块实现excl参数化
Apr 26 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 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命令行脚本接收传入参数的三种方式
2014/08/20 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
js密码强度校验
2015/11/10 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python的标准模块包json详解
2017/03/13 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
班组安全员工作职责
2014/02/01 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
管理建议书范文
2014/05/13 职场文书
求职信怎么写
2014/05/23 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技