引入
今天由于项目需要,要将logging库二次封装成一个类,以实现一些自定义的功能。
我将二次封装了一个logService类,然后在其中同样也实现info, warn, error等日志函数。额外加了一个将日志存入数据库的功能。
大概是像下面这样子:
但是在封装的过程中,出现了一个问题:log中,不能正确显示打日志的地方的代码位置了。
表现如图所示:
我们希望打log的时候显示的代码位置是出错的地方的位置,但是这里显示的是logService类中的代码位置。这该怎么办呢?
解决方案
我们只需要1行代码即可应用更改:
kwargs['stacklevel'] = 2
更改后,情况如下所示,调用logService.error()的位置被正确的显示了出来。
原文,原文包含跟踪源代码的过程
解决python封装Logging模块后,log位置显示错误的问题
标签:封装,log,python,logService,位置,Logging From: https://www.cnblogs.com/skyvip/p/18407301