Python日志:为TODO添加自定义级别?



在使用PyQT5开发应用程序时,我仍在试图找到最适合我的工作流程。目前,我主要在gui上工作(向客户端演示),将后端代码留到以后,因此我将按钮信号连接到稍后需要编写的空函数。到目前为止,我已经在每个空函数中添加了print('#TODO: xxx')。这在终端中给了我一些反馈,关于某些函数被调用的频率和优先级。这对我来说还行。

同时,我正在使用logging模块,因为它打算被使用。似乎我可以添加一个新的日志级别,并使用日志模块来实现这个目的,像这样:

def print_badge(self, pers: Person):
# TODO: print_badge
# print('#TODO: print badge') #<- not needed anymore
self.log.TODO('print badge')

日志文档似乎不鼓励创建自己的日志级别。是否有的理由为什么我不应该这样做是一个更好的选择?

通常不鼓励自定义日志级别的原因是配置日志的人必须考虑到这些级别-如果多个库使用多个级别执行此操作,则可能必须知道所有使用的库使用的所有自定义级别,以便以特定方式配置日志。当然,logging包允许您在真正必要的情况下这样做——也许对于自包含且非公共的应用程序和库,因此不会出现由其他人配置这些库的问题。

似乎可以很容易地将DEBUG级别用于您的用例—只需在消息本身中包含TODO,并且可以像自定义级别一样轻松地对日志进行grep。或者你可以有一个名为TODO的记录器,你记录这些消息,并在单独的处理程序/目的地(例如文件todo.log)中处理这些消息。

相关内容

  • 没有找到相关文章

最新更新