博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控程序执行时间并将其写入日志的脚本
阅读量:6670 次
发布时间:2019-06-25

本文共 950 字,大约阅读时间需要 3 分钟。

# /usr/bin/python# -*- coding:utf-8 -*-from time import timedef 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,",namehello("world!")'''等同于: hello = logged("post")(hello("world!"))'''

 

转载地址:http://qjoxo.baihongyu.com/

你可能感兴趣的文章
[Angular2 Form] Reactive Form, FormBuilder
查看>>
R语言基础:数组&列表&向量&矩阵&因子&数据框
查看>>
inference和learning
查看>>
PCB阻抗控制
查看>>
win10的安装与下载
查看>>
Win10年度更新开发必备:VS2015 Update 3正式版下载汇总
查看>>
nginx 学习笔记(9) 配置HTTPS服务器--转载
查看>>
cannot change version web module 3.0
查看>>
利用百度地图API根据地址查询经纬度
查看>>
poj 3253 Fence Repair
查看>>
Eclipse+tomcat+axis2进行web service部署
查看>>
VC++ GetModuleFileName()获取路径字符串中带波浪线~
查看>>
关于php的开源
查看>>
JavaScript学习总结(五)——jQuery插件开发与发布
查看>>
Spring Security HTTP Basic for RESTFul and FormLogin (Cookies) for web - Annotations
查看>>
mysql 5.5.32 多实例环境的启动问题
查看>>
js或css文件后面的参数是什么意思?
查看>>
2016 年度开源中国新增开源软件排行榜 TOP 100
查看>>
nginx实时生成缩略图到硬盘上
查看>>
一个远程启动windows c++程序引发的技术决策现象
查看>>