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读取csv文件示例(python操作csv)
Mar 11 Python
Python查找相似单词的方法
Mar 05 Python
Python tkinter事件高级用法实例
Jan 31 Python
Python模块文件结构代码详解
Feb 03 Python
Django 实现admin后台显示图片缩略图的例子
Jul 28 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
Python文件操作基础流程解析
Mar 19 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 Python
python基础之匿名函数详解
Apr 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php str_pad 函数使用详解
2009/01/13 PHP
php smarty模版引擎中的缓存应用
2009/12/02 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
详解Python中的strftime()方法的使用
2015/05/22 Python
python 将md5转为16字节的方法
2018/05/29 Python
基于python生成器封装的协程类
2019/03/20 Python
python七夕浪漫表白源码
2019/04/05 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python字符串下标与切片及使用方法
2020/02/13 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python sublime安装及配置过程详解
2020/06/29 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
法院实习人员自我鉴定
2013/09/26 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
何玥事迹观后感
2015/06/16 职场文书
监护人证明
2015/06/19 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
React中的Context应用场景分析
2021/06/11 Javascript
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android