您好,欢迎访问一九零五行业门户网

用python 装饰器打log

#! /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,*args,**kargs) return f(*args,**kargs) def post_logged(f): def wrapped(*args,**kargs): now=time() try: return f(*args,**kargs) finally: log(f,*args,**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)
其它类似信息

推荐信息