SQLAlchemy использует стандартную библиотеку журналов Python .Для записи запросов в файл с именем db.log
:
import logging
logging.basicConfig(filename='db.log')
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
При использовании ведения журнала Python убедитесь, что все флаги echo
установлены на False
, чтобы избежать дублирования записи в журнал.Теперь добавьте что-то в базу данных:
>>> 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