Как настроить ведение журнала по протоколу HTTP в Play 2

Я хочу регистрировать каждый HTTP-запрос и ответ (для отладки/разработки) в игре 2 (на данный момент 2.0, но я готов перейти на 2.X, как только она станет доступна; предпочтительным языком является Scala).

Я обнаружил, что могу использовать onRouteRequest, чтобы получить заголовок запроса, но при этом не попадает тело.

ActionComposition может быть альтернативой, но это также не кажется простым запросом.

Получение ответа HTTP кажется еще более сложным. Очевидно, было бы неплохо настроить/урезать ведение журнала на основе типа содержимого, чтобы избежать ведения журнала изображений/двоичных данных.

Регистрация ответов также должна работать с асинхронными результатами.


person eigenbrodtm    schedule 30.11.2012    source источник
comment
Даже если вы находитесь в разработке, вы можете настроить интерфейс HTTP и использовать его средства ведения журнала: playframework.org/documentation/2.0.4/HTTPServer ?   -  person ndeverge    schedule 30.11.2012
comment
Настройка обратного прокси-сервера только для регистрации того, что происходит в игре, мне все равно кажется неправильным.   -  person eigenbrodtm    schedule 30.11.2012
comment
Да, конечно ! В любом случае, я не понимаю, почему у вас нет доступа к обычному запросу с помощью ActionComposition?   -  person ndeverge    schedule 30.11.2012
comment
Объект запроса может содержать все части (заголовки, метод, путь, тело), ​​но явно уже обработан по сравнению с исходным запросом, например: darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 Хост: www.google.de Принять: / Вот что я имею в виду под непростым запросом.   -  person eigenbrodtm    schedule 30.11.2012


Ответы (1)


Вы можете использовать фильтры (новая функция, представленная в Play 2.1). Посетите http://www.playframework.com/documentation/2.1.1/ScalaHttpFilters в разделе «Более мощные фильтры»

person Manuel Bernhardt    schedule 28.05.2013