小编典典

如何在 Python Django 中运行单元测试时禁用日志记录?

all

我正在使用一个简单的基于单元测试的测试运行器来测试我的 Django 应用程序。

我的应用程序本身配置为使用 settings.py 中的基本记录器,使用:

logging.basicConfig(level=logging.DEBUG)

在我的应用程序代码中使用:

logger = logging.getLogger(__name__)
logger.setLevel(getattr(settings, 'LOG_LEVEL', logging.DEBUG))

但是,在运行单元测试时,我想禁用日志记录,以免弄乱我的测试结果输出。是否有一种简单的方法可以以全局方式关闭日志记录,以便在我运行测试时特定于应用程序的记录器不会将内容写入控制台?


阅读 202

收藏
2022-07-01

共1个答案

小编典典

logging.disable(logging.CRITICAL)

将禁用所有级别低于或等于的日志记录调用CRITICAL。可以使用重新启用日志记录

logging.disable(logging.NOTSET)
2022-07-01