使用sqlalchemy 0.6记录查询

3 投票
2 回答
1439 浏览
提问于 2025-04-16 18:43

在使用turbogears 2.1和sqlalchemy 0.7的时候,控制台里的查询会被记录到标准输出(stdout)中。但是我需要把版本降级到0.6后,这些查询就不再显示了。查看文档发现日志记录的部分似乎是一样的,我在更新日志中也找不到任何相关信息。请问在sqlalchemy 0.6中怎么才能记录日志呢?

补充说明 发现DBSession.bind.echo的设置是False。如果我把它改成True,就可以正常工作了。请问怎么才能正确设置这个选项(我已经在model/__init__.py中修改了engine.echo = True)?

2 个回答

5

我对TurboGears不太了解,不过你需要确保引擎的echo设置是True,比如这样:

engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True)

默认情况下,echo设置是False,所以查询不会记录到标准输出(stdout)上。可能TurboGears对这两个SQLAlchemy版本的配置方式不同。

3

你的配置文件应该包含指定的选项。请在 development.ini 文件中查找这些选项。

sqlalchemy.echo = true
sqlalchemy.echo_pool = true

撰写回答