【发布时间】:2013-09-24 21:42:17
【问题描述】:
即使我有以下代码,sqlalchemy 也会保持登录到控制台
import logging
logger = logging.getLogger()
logger.disabled = True
如何完全关闭 sqlalchemy 的日志记录?
【问题讨论】:
-
你能发布你的引擎配置和日志配置吗?
标签: python logging sqlalchemy
即使我有以下代码,sqlalchemy 也会保持登录到控制台
import logging
logger = logging.getLogger()
logger.disabled = True
如何完全关闭 sqlalchemy 的日志记录?
【问题讨论】:
标签: python logging sqlalchemy
您是否将echo=True 传递给create_engine()?默认情况下,它创建输出到控制台的 StreamHandler。正如documentation 所说,如果您没有提供任何echo=True 参数并且没有配置root sqlalchemy 记录器,它将不会记录任何内容。
【讨论】:
SQLALCHEMY_ECHOflask 配置中的环境变量
您可以使用以下方法关闭sqlalchemy 记录器:
import logging
logging.basicConfig()
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)
有关详细信息,请参阅docs。
【讨论】:
echo=False 传递给可能创建引擎的所有函数要好得多。
logging.getLogger('sqlalchemy.engine') 更改为 logging.getLogger('sqlalchemy'),这应该涵盖更多情况。除此之外,不知道为什么它不起作用......
statement 查询中可能存在错误。也许您正尝试多次插入同一列或其他内容..