在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)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How can I disable logging while running unit tests in Python Django?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 66 = 72