我在SQLAlchemy中使用Pyramid,我在development.ini
中有以下部分:
[logger_sqlalchemy]
# level = INFO
level = WARN
handlers =
qualname = sqlalchemy.engine
每当我想启用SQL语句/ echo时,我都会编辑该文件并更改注释,使其变为level = INFO
。
我的问题是如何在命令行中执行此操作,而无需在文本编辑器中编辑文件。
其他Web框架内置了对此的支持,但我无法找到Pyramid / SQLAlchemy的解决方案。
我想支持pserve
,pshell
和alembic
。
答案 0 :(得分:3)
如果您正在使用pyramid_sqlalchemy,那么您可以在running tests时使用--sql-echo
选项。
否则,您将自己解析参数并设置日志记录级别:
import logging
logging.getLogger('sqlalchemy.engine').setLevel('INFO')
对于pserve
和pshell
,您可能必须在应用程序初始化代码中的某处读取命令行参数。
对于alembic
,您需要修改env.py
。