1 from functools import wraps
 2 import logging
 3 
 4 def logged(level,name=None,message=None):
 5     def decorate(func):
 6         logname=name if name else func.__module__
 7         print(logname)
 8         log=logging.getLogger(logname)
 9         logmsg=message if message else func.__name__
10         print(logmsg)
11 
12         @wraps(func)
13         def wrapper(*args,**kwargs):
14             log.log(level,logmsg)
15             return func(*args,**kwargs)
16         return wrapper
17     return decorate
18 
19 
20 @logged(logging.DEBUG)
21 def add(x,y):
22     print(x,y)
23     return x+y
24 
25 add(3,4)
26 
27 
28 @logged(logging.CRITICAL,"example")
29 def spam():
30     print("Spam")
31 
32 spam()

 

相关文章:

  • 2021-10-19
  • 2022-12-23
  • 2021-12-29
  • 2021-11-12
  • 2022-12-23
  • 2021-08-29
  • 2021-09-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2017-12-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案