如何完全关闭sqlalchemy注销

问题描述 投票:0回答:4

sqlalchemy 保持登录控制台,即使我有以下代码

import logging
logger = logging.getLogger()
logger.disabled = True

如何完全关闭sqlalchemy的日志记录?

python logging sqlalchemy python-logging
4个回答
94
投票

您是否将

echo=True
传递至
create_engine()
?默认情况下,它创建 StreamHandler 并输出到控制台。正如 documentation 所说,如果您没有提供任何
echo=True
参数并且没有配置 root
sqlalchemy
记录器,它不会记录任何内容。


14
投票

您可以使用以下方法关闭

sqlalchemy
记录器:

import logging

logging.basicConfig()
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)

有关更多信息,请参阅文档


3
投票

更彻底的解决方案:

import logging

logging.disable(logging.WARNING)

0
投票

sqlalchemy.engine.Engine
做了一些奇怪的事情(有日志级别?),所以虽然
logging.getLogger('sqlalchemy.engine.Engine').setLevel(logging.ERROR)
不起作用,
logging.disable(logging.ERROR)
仍然可以。

结合特异性和方法,我设法禁用它:

logging.getLogger('sqlalchemy.engine.Engine').disabled = True
© www.soinside.com 2019 - 2024. All rights reserved.