Я использую флягу и werkzeug. Чтобы отслеживать операторы sql, испускаемые sqlalchemy, я настроил регистратор logging.basicConfig() и прикрепил событие before_cursor_execute для мониторинга операторов SQL. Но теперь werkzeug также прикрепляет ведение журнала к этому регистратору, это не то, что я хочу. поэтому мой журнал выглядит так... (сообщение werkzeug не требуется)
INFO:root:SELECT anon_1.heartbeat_id AS anon_1_heartbeat_id
FROM (SELECT heartbeat.id AS heartbeat_id FROM heartbeat ORDER BY stamp desc LIMIT ?
OFFSET ?) AS anon_1 ORDER BY heartbeat_name
INFO:werkzeug:127.0.0.1 - - [13/Jun/2013 12:10:52] "GET / HTTP/1.1" 200 -
В документации werkzeug я ничего не могу найти о ведении журнала. И вот код, который я использую.
logging.basicConfig(filename='sql.log', level=logging.INFO)
def before_cursor_execute(conn, cursor, statement, parameters, context, executemany):
logging.info(statement)
event.listen(engine, "before_cursor_execute", before_cursor_execute)