Python实现监控程序执行时间并将其写入日志的方法
本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法。分享给大家供大家参考。具体实现方法如下:
#/usr/bin/python
#-*-coding:utf-8-*-
fromtimeimporttime
deflogged(when):
deflog(f,*args,**kargs):
print'''
called:
functions:%s
args:%r
kargs:%r
'''%(f,args,kargs)
defpre_logged(f):
defwrapper(*args,**kargs):
log(f,*args,**kargs)
returnf(*args,**kargs)
returnwrapper
defpost_logged(f):
defwrapper(*args,**kargs):
now=time()
try:
returnf(*args,**kargs)
finally:
log(f,*args,**kargs)
print"timedelta:%s"%(time()-now)
returnwrapper
try:
return{"pre":pre_logged,"post":post_logged}[when]
exceptKeyError,e:
raiseValueError(e),'mustbe"pre"or"post"'
@logged("post")
defhello(name):
print"hello,",name
hello("world!")
'''
等同于:hello=logged("post")(hello("world!"))
'''
希望本文所述对大家的Python程序设计有所帮助。