Как я могу помешать регистратору перегонного куба деактивировать мои собственные регистраторы после использования командPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу помешать регистратору перегонного куба деактивировать мои собственные регистраторы после использования команд

Сообщение Anonymous »

Я использую перегонный куб в своем коде для применения миграции базы данных при запуске приложения. Я также использую встроенную библиотеку Python для входа в терминал. Однако после применения миграции (или запуска любой команды alembic, которая выводит на стандартный вывод), мои регистраторы перестают работать.
Код:

Код: Выделить всё

import logging

import alembic.command
from alembic.config import Config as AlembicConfig

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger("app")

logger.debug("Applying alembic migrations.")

alembic_config = AlembicConfig("alembic.ini")
alembic_config.attributes["sqlalchemy.url"] = connection_string
alembic.command.upgrade(alembic_config, "head", tag="from_app")

logger.debug("Terminating app.")
Ожидаемый результат:

Код: Выделить всё

DEBUG:app:Applying alembic migrations.
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
DEBUG:app:Terminating app.
Фактический результат:

Код: Выделить всё

DEBUG:app:Applying alembic migrations.
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Последняя строка отсутствует.
Я попытался снова установить уровень журнала после применения миграции (я подумал, что, возможно, это изменило корневой регистратор уровень журнала):

Код: Выделить всё

...
alembic.command.upgrade(alembic_config, "head", tag="from_app")

logger.setLevel(logging.DEBUG)
logger.debug("Terminating app.")
На самом деле, даже logger.critical("blah") больше ничего не записывает.
Я тоже пробовал снова применив базовую конфигурацию и снова получив регистратор:

Код: Выделить всё

...
alembic.command.upgrade(alembic_config, "head", tag="from_app")

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger("app")
logger.debug("Terminating app.")
Но безрезультатно. Даже корневой регистратор больше не ведет журнал:

Код: Выделить всё

...
alembic.command.upgrade(alembic_config, "head", tag="from_app")

logging.basicConfig(level=logging.DEBUG)
logging.debug("Terminating app.")
Могу ли я что-нибудь сделать, чтобы убедиться, что мои средства ведения журнала ведут журнал? Я хотел бы продолжать использовать встроенную функцию ведения журнала, но я также готов использовать для этого какую-нибудь библиотеку.


Подробнее здесь: https://stackoverflow.com/questions/787 ... er-using-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как удалить аналогичную версию перегонного куба?
    Anonymous » » в форуме Python
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Можно ли сохранить строку подключения перегонного куба за пределами alembic.ini?
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как обнаружить изменения с помощью перегонного куба, не создавая ревизию?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Параллельная индексация таблицы БД с помощью сценария перегонного куба
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • IBM db2 — миграция перегонного куба
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»