2015-05-30 2 views
4

Я пробую несколько простых тестов в django. Я установил мою систему регистрации django в свой файл настроек. Но когда я запускаю свой тест, он не будет печатать отладочные сообщения на моей консоли. Это происходит, когда я запускаю тесты из команды manage.py test. Если я использую команду запуска IDE, он печатает сообщения нормально. Моя настройка каротажа следующая:Ведение журнала не отображается в консоли во время тестов django

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'verbose': { 
      'format': '%(levelname)s %(asctime)s %(module)s %(process)d (thread)d %(message)s' 
     }, 
     'simple':{ 
      'format': '%(levelname)s %(message)s' 
     }, 
    }, 
    'handlers': { 
     'null': { 
      'level': 'DEBUG', 
      'class': 'django.utils.log.NullHandler', 
     }, 
     'console': { 
      'level':'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['console', ], 
      'propagate': True, 
      'level': 'DEBUG' 

     }, 
     'payments_system': { 
      'handlers': ['console', ], 
      'propagate': True, 
      'level': 'DEBUG' 
     } 
    } 
} 

Ведение журнала основано на примере сайта django. Как я могу сделать сообщения появляться в консоли, когда я запускаю тесты с помощью manage.py?

+1

Может видеть здесь https://stackoverflow.com/questions/1236285/how-do-sese-stdout-when-running-django-tests, testrunner django, кажется, захватывает stdout, поэтому ваши сообщения о регистрации могут быть проглочены , – dhke

ответ

0

У меня есть Django logging настроить для входа в файл, как это:

'handlers': { 
    'file': { 
     'level': 'DEBUG', 
     'class': 'logging.FileHandler', 
     'filename': '/path/to/django/debug.log', 
    }, 
}, 

Когда я запускаю тесты с python manage.py test, журналы также идут в этот файл.

Поскольку вы используете обработчик console, ваши журналы должны быть равны stdout, которые, вероятно, будут отфильтрованы тестовым кодом. Попробуйте вместо этого использовать FileHandler. Для получения более подробной информации обратитесь к первому примеру в разделе Configuring Logging.

Смежные вопросы