当前位置: 首页 > 后端技术 > Python

Python自制的简单实用的日志装饰器_0

时间:2023-03-25 22:44:20 Python

在写代码的时候经常会漏掉日志记录的关键因素,导致函数使用时出错却无法追溯。其实我们只需要写一个非常简单的日志装饰器,就可以大大提高排错的效率。1.简单装饰器编写装饰器非常简单,因为装饰器本质上是一个返回函数的“高阶”函数:**1)函数作为参数传入装饰器。\2)在装饰器中定义了一个函数来处理作为参数传入的函数。\3)返回这个装饰器中定义的函数**试试看:效果如下:虽然这样可以实现我们需要的功能,但其实还有很大的优化空间。2.装饰器普通版第一版代码有明显问题。装饰器中定义的处理函数不支持kwargs,在装饰器中支持kwargs只是费力的事情。第二个问题是在生成时间戳的时候采用了字符串截取的形式,过于粗糙。其实可以用strftime来做字符串转换。修改如下:看来优化的差不多了,但是还有改进的空间。3.装饰器的优化版本在前两个版本的代码中,我们使用print进行日志输出。事实上,这种处理日志的方式并不标准。使用logging模块来控制日志输出是更好的选择。为了使用logging模块来记录日志,我们需要先配置logging相关的选项。1)首先生成一个logger并配置日志级别:2)配置日志格式并添加一个handler来控制输出流程:这里可以设置handler需要处理的日志级别,如果不设置,则默认会使用logger自己的Level,也就是DEBUG级别。3)最后在logger中添加这个handler:logging的完整配置如下:使用起来很简单,将print换成logger.debug即可:效果如下:这样,一个比较完整的日志装饰器就完成了。附上常用的日志级别配置:以上就是本次分享的全部内容。想了解更多Python知识,请前往公众号:Python编程学习圈,每日干货分享。