sqlalchemy 保持登录控制台,即使我有以下代码
import logging
logger = logging.getLogger()
logger.disabled = True
如何完全关闭sqlalchemy的日志记录?
您是否将
echo=True
传递至 create_engine()
?默认情况下,它创建 StreamHandler 并输出到控制台。正如 documentation 所说,如果您没有提供任何 echo=True
参数并且没有配置 root sqlalchemy
记录器,它不会记录任何内容。
您可以使用以下方法关闭
sqlalchemy
记录器:
import logging
logging.basicConfig()
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)
有关更多信息,请参阅文档。
更彻底的解决方案:
import logging
logging.disable(logging.WARNING)
sqlalchemy.engine.Engine
做了一些奇怪的事情(有日志级别?),所以虽然logging.getLogger('sqlalchemy.engine.Engine').setLevel(logging.ERROR)
不起作用,logging.disable(logging.ERROR)
仍然可以。
结合特异性和方法,我设法禁用它:
logging.getLogger('sqlalchemy.engine.Engine').disabled = True