Насколько мне известно, невозможно заменить один регистратор другим. Это то, что вам действительно нужно?
Я хочу, чтобы он печатал свой собственный журнал, используя формат и обработчик, которые определены в настраиваемом регистраторе.
Как я понять это, у логгера есть обработчики, а у обработчиков есть форматеры. Если у вас есть обработчик с средством форматирования, вы можете просто отредактировать alembic.ini
и назначить свой обработчик для alembi c logger.
- добавить средство форматирования для средств форматирования в
ini
file
[formatters] # existing section
keys = generic,pyraider # just add the name of your formatter
определите свой пользовательский форматер
[formatter_pyraider]
class=tools.logger.PyraiderFormatter
добавить обработчик к обработчикам в
ini
файле
[handlers] # existing section
keys = console,pyraider # just add the name of your handler
определить ваш пользовательский обработчик
[handler_pyraider] # new section, handler_<your_name>
class = tools.logger.PyraiderHandler
args = (sys.stderr,) # might need to play around with this one
level = INFO
formatter = pyraider
назначить обработчик для alembi c logger
[logger_alembic] # existing section, what you want
level = INFO
handlers = pyraider # <---- add your handler, defined previously, here
qualname = alembic
Документы на файл alembic.ini
.
https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing -the-ini-file
Вам может понадобиться настроить некоторые вещи, но это должно сработать, поскольку именно так работает модуль python logging
.
Дополнительная информация о том, как структурировать файл ini
для ведения журнала модуль
Официальный Python Документы
Руководство автостопщика