Python日志记录,如何防止函数库从日志记录?



我正在制作一个项目,并使用项目要求的库。当我调用它的函数时,这个库实现了日志记录,并自动记录到一个文件。

现在,我正在自己实现日志记录,并且只希望我自己的消息被记录到文件中,而不是库消息。

我想到的一个解决方案是每次从库中调用函数时切换日志文件,然后删除该文件,但这似乎过于复杂和混乱。为了不记录库中的消息,我该怎么做?

:

p.s.我正在使用日志库,我将其初始化为:

logging.basicConfig(level = logging.INFO,filename = loggingFile,format = "%(message)s")

,这意味着来自我自己和库的所有消息将被记录在loggingFile

中。

库不应该直接向日志输出任何内容——这应该只由应用程序配置的处理程序完成。记录输出的库是一种反模式——如果一个库确实这样做了,我会在该库的问题跟踪器上记录一个错误。

另一方面,可能是库只输出内容,因为您通过basicConfig()调用配置了输出。如果您需要更多的基本配置,不要使用basicConfig()-使用提供的其他api。

最新更新