2015-05-04 26 views
12

Używam interfejsu Spark web framework do opracowania interfejsu API REST. Czy istnieje sposób automatycznego rejestrowania wszystkich żądań przychodzących i odpowiedzi wychodzących (parametry zapytań, nagłówki, kody stanu itp.) Lub czy muszę ręcznie dodawać rejestrowanie dla każdej z procedur obsługi?Wymagania i odpowiedzi rejestrowania w ramkach sieci Spark:

Dokumentacja Spark nie ma nic na ten temat.

Dzięki.

+0

Chciałbym również poznać sposób na "najlepsze praktyki", aby to zrobić ze Spark. Szybkie Ctrl + F "logowanie" na stronie dokumentacji Spark niczego nie zmienia. –

Odpowiedz

8

Oto moje obejście.

private static String requestInfoToString(Request request) { 
    StringBuilder sb = new StringBuilder(); 
    sb.append(request.requestMethod()); 
    sb.append(" " + request.url()); 
    sb.append(" " + request.body()); 
    return sb.toString(); 
} 

public static void main(String[] args) { 
    // Bunch of handlers 

    before((request, response) -> { 
     log.info(requestInfoToString(request)); 
    }); 
} 
+0

Przydatny fragment. Czy znasz jednak sposób rejestrowania odpowiedzi? Próbowałem grać z odpowiedziami, bez powodzenia, nie mogę odzyskać ciała. – pfh

+0

@pfh: można użyć filtra po (...) do rejestrowania odpowiedzi. –

+0

@RanilWijeyratne: Dzięki, pojawił się problem z wersją Spark 2.3. Aktualizacja do najnowszej wydaje się działać. – pfh