Django: отключить консольный вывод ответных сообщений http - PullRequest
4 голосов
/ 30 мая 2011

Итак, мы создали приложение с django, и оно выводит все эти HTTP-сообщения ответа на консоль каждый раз, когда получает запрос.

[Date String] 'GET /urlpath/..blah blah ' 200 216
[Date String] 'DELETE /anotherurl/..blah blah ' 200 205 
...
..

Мы отключили все выходы регистратора.Установите Debug = False.Попробовал 'python manage.py runserver --verbosity 0'.Даже попытался изменить sys.stdout на класс NullDevice ().Тем не менее, мы не можем отключить эти ответные сообщения, которые замедляют работу сервера.Все остальные сообщения отключаются, кроме этих.Какие-либо предложения?

Я понимаю, что внутренний веб-сервер django предназначен только для разработки, а не для производства, но мы хотели бы получить изрядную скорость только с самой версией для разработки (без необходимости разбираться в тонкостях развертыванияДжанго за Apache / Lighttpd).

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Встроенный сервер разработки не предназначен для повышения производительности, вместо этого используйте gunicorn.Вы можете добавить его в качестве приложения в свой проект Django, и он сделает доступной вам команду run_gunicorn в качестве альтернативы runserver.Это немного быстрее и быстрее, чем встроенный сервер разработки.Если вы хотите, вы также можете установить уровень регистрации Gunicorn с помощью --log-level.Он также довольно прост в развертывании и подходит для производства.

1 голос
/ 22 марта 2013

Вы можете разрешить ведение журнала консоли, но с помощью этого небольшого патча Вы можете подавить шумные строки, такие как

GET /urlpath/..blah blah ' 200 216
...

полностью, которые все имеют код результата HTTP = 200. В каталоге Your Site-packages или VirtualEnv (если вы его используете) перейдите в структуру папок django / core / servers / basehttp.py

затем перейдите Класс WSGIRequestHandler , функция def log_message (self, format, * args)

* После 1014 *

# Don't bother logging requests for admin images or the favicon.
if (self.path.startswith(self.admin_media_prefix)
        or self.path == '/favicon.ico'):
    return

Вставить

# START ----- Don't show page requests which have run successfully
if args[1] == '200':
    return
# END ----- Don't show page requests which have run successfully

Это грязный обходной путь для Python 2.7.3, Django 1.4.3, меня интересует чистая настройка, а также: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...