如何在django中禁用南调试日志记录?

时间:2011-12-20 15:57:53

标签: django debugging testing django-south

当我在Django中运行测试时,失败后我从南方获得了几页调试输出,如下所示:

south: DEBUG: south execute "CREATE INDEX "sometable_4d5bad5" ON "video_playable" ("network_id");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_790e6d98" ON "video_playable" ("published");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_72312277" ON "video_playable" ("archived");" with params "[]"

使用所有这些日志输出,相关的错误消息会在垃圾中丢失。有没有办法禁用这个输出?

3 个答案:

答案 0 :(得分:15)

将它放在代码中的某个位置。我在myapp/migrations/__init__.py

中有
import logging
south_logger=logging.getLogger('south')
south_logger.setLevel(logging.INFO)

答案 1 :(得分:7)

您可以在False中将SOUTH_TESTS_MIGRATE设为setting.py。这将禁用测试期间的所有迁移。我知道这不是你想要的,但希望是有用的

  

如果这是假的,South的测试运行器集成将进行测试   数据库是使用syncdb创建的,而不是通过迁移(   默认)。如果迁移时间过长,请将此项设置为False   每次测试运行时进行迁移,但如果依赖迁移则要小心   做特别的事。

答案 2 :(得分:3)

import logging
import south.logger
logging.getLogger('south').setLevel(logging.CRITICAL)

我可以在我的设置/ testing.py

中设置它

此外,如果这只是困扰你的django-nose测试添加

nosetests --nologcapture