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 相关文章推荐
Windows下python3.6.4安装教程
Jul 31 Python
Python json模块dumps、loads操作示例
Sep 06 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
python mysql断开重连的实现方法
Jul 26 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
pandas 选取行和列数据的方法详解
Aug 08 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
python实现批处理文件
Jul 28 Python
python 递归相关知识总结
Mar 03 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的知识
2006/11/17 PHP
安装APACHE
2007/01/15 PHP
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
Destoon模板制作简明教程
2014/06/20 PHP
PHP SOCKET编程详解
2015/05/22 PHP
php微信开发之上传临时素材
2016/06/24 PHP
php DES加密算法实例分析
2019/09/18 PHP
客户端静态页面玩分页
2006/06/26 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
Python制作数据导入导出工具
2015/07/31 Python
python使用super()出现错误解决办法
2017/08/14 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Python对excel文档的操作方法详解
2018/12/10 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
centos7之Python3.74安装教程
2019/08/15 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
科长竞聘演讲稿
2014/05/16 职场文书
有关环保的标语
2014/06/13 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
出纳岗位职责范本
2015/03/31 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python
Redis基本数据类型List常用操作命令
2022/06/01 Redis