Атрибут logging_name
Атрибут logging_name класса Engine
задает имя логгера, которое SQLAlchemy
использует при записи сообщений о работе
движка. По умолчанию значение атрибута
равно None, и в этом случае имя
логгера формируется автоматически на основе
диалекта и драйвера подключения. Атрибут
можно задать явно при создании движка через
параметр logging_name функции
create_engine. Это удобно, когда
в приложении работает несколько движков, и
нужно различать их сообщения в логах.
Синтаксис
engine.logging_name
Пример
Давайте создадим движок без явного имени логгера и посмотрим на значение атрибута:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.logging_name)
Результат выполнения кода:
None
Пример
Давайте зададим имя логгера параметром
logging_name при создании движка:
from sqlalchemy import create_engine
engine = create_engine(
'sqlite:///:memory:',
logging_name='main_engine'
)
print(engine.logging_name)
Результат выполнения кода:
"main_engine"
Пример
Давайте убедимся, что имя логгера используется при выводе сообщений о соединении с базой:
from sqlalchemy import create_engine, text
engine = create_engine(
'sqlite:///:memory:',
logging_name='main_engine',
echo=True
)
with engine.connect() as conn:
conn.execute(text('SELECT 1'))
Итоговый SQL запрос:
SELECT 1