2017-09-01 2 views
1

Ich verwende den Jersey 2.25.1-Client und kann keine Protokollausgabe abrufen. Ich habe an der 2.25.1 Dokumentation sah - https://www.scribd.com/document/350321996/Jersey-Documentation-2-25-1-User-Guide - und folgten dem, was sie für Client-Protokollierung beschrieben -Trikot 2.25.1 Beispiel für Clientprotokollierung

ClientConfig clientConfig = new ClientConfig(); 
clientConfig.property(LoggingFeature.LOGGING_FEATURE_VERBOSITY_CLIENT, LoggingFeature.Verbosity.PAYLOAD_ANY); 
Client client = ClientBuilder.newClient(clientConfig); 

Gibt es einen Additionsschritt, dass ich fehle? Die Anfrage funktioniert wie erwartet. Die Anwendung wird auf einem Glassfish-Server ausgeführt und verwendet SLF4J. Mein Verständnis war, dass die Ausgabe in der server.log protokolliert werden würde.

+0

Ihre Client-Anwendung auf 'Glassfish' Server läuft und' SLF4j' mit? –

Antwort

0

Sie müssen auch eine Logging-Filter

clientConfig.register(new MyLogFilter());

registrieren Sie sich um einen Protokollfilter erstellen

class MyLogFilter implements ClientRequestFilter { 
    private static final Logger LOG = Logger.getLogger(MyLogFilter.class.getName()); 

    @Override 
    public void filter(ClientRequestContext requestContext) throws IOException { 
     LOG.log(Level.INFO, requestContext.getEntity().toString()); // you can configure logging level here 
    } 
}