# @param 用python 装饰器打log
# @author 编程之家 jb51.cc|jb51.cc
#! /usr/bin/env python
# coding=utf-8
from time import time
def logged(when):
def log(f,*args,**kargs):
print(called: function:%s,args:%r,kargs:%r%(f,args,kargs))
def pre_logged(f):
def wrapper(*args,**kargs):
log(f,**kargs)
return f(*args,**kargs)
def post_logged(f):
def wrapped(*args,**kargs):
now=time()
try:
return f(*args,**kargs)
finally:
log(f,**kargs)
print(time delta:%s%(time()-now))
return wrapped
try:
#从这里开始调用
return{pre:pre_logged,post:post_logged}[when]
except Exception as e:
print(e)
@logged(post)
def hello(name):
print(hello,name)
@logged(post)
def test(a,b=1):
print(a+b)
hello(world)
test(1,2)
# End www.jb51.cc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。