2014-02-20 5 views
5

In jedem Moment in der Welt ändern sich die Dinge, sagte jemand.Loggen Sie alle Anfrage und Antwortdaten in Tomcat

Wir sitzen auf einem großen fetten REST-API-Server, der mehr und mehr zu einer Belastung wird, weil gute Java-Entwickler schwer zu finden sind, teuer, Entwicklung braucht viel mehr Zeit, also wechseln wir langsam Anwendungsteile für Rails, was ... naja, vergiss es.

Es gibt viel zu viele APIs (und einige sind schlecht dokumentiert), um Funktionalität nur durch das Betrachten der Dokumente zu klonen, also ist meine Idee, eine Möglichkeit zu finden, alles zu protokollieren, das diesen Service für eine Weile in einem Computer durchläuft lesbares Format können wir später indizieren, verarbeiten und berichten, so dass wir den Code nach und nach umschreiben können.

Gibt es eine "saubere" nicht so "hacky" Art, dies mit Tomcat zu tun? Oder sollte ich den Wireshark/Reverse-Proxy-Weg gehen?

TIA!

+0

Können Sie die Webapps aktualisieren, die Sie bedienen, oder muss es sich um eine strikte Tomcat-Lösung handeln? – par

+0

Haben Sie sich http://stackoverflow.com/questions/3017188/java-tomcat-standalone-how-to-log-access-all-the-http-get-requests?rq=1 angesehen? – par

+0

Ja und einige andere haben jedoch keine Pure-Tomcat-Lösung gefunden, um alle Anfragen, Nutzdaten (Anfragedaten) und Antwortdaten zu protokollieren. –

Antwort

2

Sie können einen Payload-Protokollierungsfilter erstellen und ihn in Ihrer web.xml konfigurieren. Sie können auch einen Ausgabefilter für die Antwort verwenden. This und this sollten hilfreiche Arbeitsbeispiele sein.

+0

Danke! Das hat es geschafft! Viel sauberere Lösung als die Verbindung zu schnüffeln! –