設定 Flask 中 SQLAlchemy SQL log on/off
在 Flask-SQLAlchemy 中有一個 configuration key ‘SQLALCHEMY_ECHO’ 可以開關 SQLAlchemy Engine執行SQL 指令時是否 log 到 stderr[1]
但由於我程式中也用了以下指令設定 ‘sqlalchemy.engine’ 的 log level [2]
logging.getLogger(‘sqlalchemy.engine’).setLevel(log.INFO)
因此當我將 SQLALCHEMY_ECHO設為 False 時,程式還是會持續 log SQL指令,找了一下才發現是以上的log level 的設定問題。
另外還發現了將 logger ‘sqlalchemy.engine’ 設為 ‘log.INFO’ 所 log 的訊息會比僅將 SQLALCHEMY_ECHO設為 True 時會要多,因此這二者還是有一些細微的差別
[1]http://flask-sqlalchemy.pocoo.org/2.2/config/
[2]http://docs.sqlalchemy.org/en/latest/core/engines.html