設定 Flask 中 SQLAlchemy SQL log on/off

設定 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

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料