装饰器参数加log
Posted tkopython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器参数加log相关的知识,希望对你有一定的参考价值。
#有多个函数,需要计算他们的执行时间,加log
import time
def logger(flag):
def show_time(f): #foo对象
def inner(*x,**y):
starttime = time.time()
f(*x,**y)
endtime = time.time()
print("执行时间:%s"%(endtime - starttime))
if flag == "abc":
print("日志记录")
return inner
return show_time
# 这里要注意的是最先执行是的logger函数,@后面的取决于返回的show_time对象
@logger("abc") #show_time 返回给logger(”abc“) 相当于 @show_time 相当于 foo = show_time(foo)
def foo(*a,**b):
fnum = 0
for i in a:
fnum += i
print(fnum)
print("this is foo")
time.sleep(2)
#foo = show_time(foo)
foo(1,2,3,4,5,6)
以上是关于装饰器参数加log的主要内容,如果未能解决你的问题,请参考以下文章