from functools import wraps
import logging
logging.basicConfig(
level=logging.INFO,
# filename=r"d:/decorator.log",
format="%(name)s:: %(asctime)s filename:%(filename)s funcName:%(funcName)s lineno:%(lineno)s %(levelname)s: %(message)s"
)
logger = logging.getLogger(name="my_log")
# 装饰器
def logit(level):
def decorator(func):
# @wraps接受一个函数来进行装饰,并加入了复制函数名称、注释文档、参数列表等等的功能
@wraps(func)
def wrapper(*args, **kwargs):
if level == "warning":
logger.warning("this is a warn log")
if level == "info":
logger.info("this is a info log")
return func(*args, **kwargs)
return wrapper
return decorator
# 添加装饰器
@logit(level="warning")
def hi(name="jack"):
print("hi, " + name)
# 测试
hi()
func_name = hi.__name__
print("func_name: "+ func_name)
日志装饰器
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 大家好,这里是米洛,一个想和大家一起分享测试开发相关的技术,面试经验和成长经历的博主! 欢迎大家关注我的龚仲耗: ...
- 写在前面 有疑问可在评论处留言,欢迎大家一起交流探讨。考虑到网页我可能不经常看,若问题较为紧急,可关注微信公众号「...