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

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

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

logging.basicConfig(level=logging.DEBUG)

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

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

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

最佳答案

logging.disable(logging.CRITICAL)

将禁用所有级别低于或等于 CRITICAL 的日志记录调用。可以通过

重新启用日志记录
logging.disable(logging.NOTSET)

https://stackoverflow.com/questions/5255657/

相关文章:

linux - Bash 中的脚本参数

python - numpy 矩阵向量乘法

linux - 如何为安装程序编写 "yes"响应脚本?

python - "hashable"在 Python 中是什么意思?

python - 如何从一列中对 Pandas 数据框进行排序

linux - 如何将命令存储在 shell 脚本的变量中?

Python - doctest 与 unittest

python - 如何在 Python 中将方法作为参数传递

python - 如何将整数时间戳转换为日期时间

asp.net - 在基于 Linux 的服务器上运行 ASP.Net