Ответ 1
SQLAlchemy использует стандартную библиотеку протоколов Python. Чтобы зарегистрировать запросы к файлу с именем db.log
:
import logging
logging.basicConfig(filename='db.log')
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
При использовании журнала Python убедитесь, что для всех флагов echo
установлено значение False
, чтобы избежать дублирования ведения журнала. Теперь добавьте что-нибудь в db:
>>> Movie(title=u"Blade Runner", year=1982)
>>> session.commit()
Что будет записывать что-то вроде:
INFO:sqlalchemy.engine.base.Engine:BEGIN (implicit)
INFO:sqlalchemy.engine.base.Engine:INSERT INTO models_movie (title, year, description) VALUES (%(title)s, %(year)s, %(description)s) RETURNING models_movie.id
INFO:sqlalchemy.engine.base.Engine:{'title': u'Blade Runner', 'description': None, 'year': 1982}
INFO:sqlalchemy.engine.base.Engine:COMMIT