我需要禁用 alembic 迁移日志记录,同时在单元测试中执行迁移,.
我不能只是从 alembic
中删除 alembic.ini
记录器:我在自己执行迁移时需要这个输出。
以下对我不起作用:logging.getLogger('alembic').setLevel(logging.CRITICAL)
我如何在运行时禁用它?
最佳答案
听起来您是通过调用 alembic
命令从单元测试中调用 Alembic,该命令是一个单独的进程,不会继承您的日志记录配置。
相反,您应该以编程方式调用 Alembic:
import logging
import alembic.config
import alembic.command
logging.getLogger('alembic').setLevel(logging.CRITICAL)
alembic_cfg = alembic.config.Config('alembic.ini')
alembic.command.upgrade(alembic_cfg, 'head')
有关 Alembic API 的更多信息,请参阅文档。
关于python - 如何在运行时禁用 alembic 日志记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37311214/