Подтвердить что ты не робот

Как отключить ведение журнала южного отладки в django?

Когда я запускаю свои тесты в 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 "[]"

И со всем этим выходом журнала, соответствующие сообщения об ошибках теряются в море мусора. Есть ли способ отключить этот вывод?

4b9b3361

Ответ 1

Поместите это где-нибудь в свой код. У меня это в myapp/migrations/__init__.py

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

Ответ 2

Вы можете установить SOUTH_TESTS_MIGRATE в False в setting.py. Это отключит все миграции во время тестов. Я знаю, что это не совсем то, что вы хотите, но надежда будет полезна

Если это False, интеграция с тестировщиком Souths проведет тест база данных создается с использованием syncdb, а не через миграции ( по умолчанию). Установите для этого значение False, если у вас есть миграции, которые слишком долго для миграции при каждом запуске тестов, но будьте осторожны, если вы полагаетесь на миграцию делать что-то особенное.

Ответ 3

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

Я могу установить это в моей настройке /testing.py

Кроме того, если это вас беспокоит только ваши тесты на django-нос, добавьте

nosetests --nologcapture