Para poder ver los mensajes IN/OUT (entrada/salida) que llegan y son enviados desde el servicio Rest, en el fichero de log de la apliacion, tenemos que editar el fichero web.xml añadiendo:
<!-- Log de Entrada --> <context-param> <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name> <param-value>es.um.atica.jersey.api.container.filter.LoggingFilter</param-value> </context-param> <!-- Log de Salida --> <context-param> <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name> <param-value>es.um.atica.jersey.api.container.filter.LoggingFilter</param-value> </context-param>
Esta configuración enviará el log al fichero de log general de la aplicación.
Ejemplo de mensaje de entrada (petición entrante):
// Mensaje de entrada 18 jun 2018 11:36:57,050 INFO LoggingFilter:136 - Usuario: ANONIMO-1529314617048 - 26 * Server in-bound request 26 > POST https://push.um.es:443/push/rest/dispositivo/registrar 26 > Proxy-agent: Oracle-Traffic-Director/11.1.1.9 26 > ECID-Context: 1.ncl8t0u2000000000;kXhgv0 26 > Surrogate-capability: otd="Surrogate/1.0" 26 > Content-type: application/json; charset=UTF-8 26 > Content-length: 444 26 > Host: push.um.es 26 > Accept-encoding: gzip 26 > User-agent: okhttp/3.8.0 26 > Client-ip: 31.4.203.177 26 > Proxy-cipher: TLS_RSA_WITH_AES_128_GCM_SHA256 26 > Proxy-keysize: 128 26 > Proxy-secret-keysize: 128 26 > Proxy-ssl-id: 3gtqTT0HmM/zenge4ThfjmBdD2cT+8mHorPFQJmzIs0= 26 > Proxy-issuer-dn: no certificate 26 > Proxy-user-dn: no certificate 26 > Proxy-ssl: True 26 > Proxy-jroute: DygRHYegCmoKVqKC 26 > Via: 1.1 net-cyumgrp 26 > Connection: Keep-Alive 26 > X-Forwarded-For: 31.4.203.177 26 > Proxy-Client-IP: 155.54.216.99 26 > X-WebLogic-KeepAliveSecs: 30 26 > X-WebLogic-Force-JVMID: -1030290984 26 > {"app_api_key":"CS4HYgTSIwp8jkhi1sQjYn6KYO8k0icHxC1pnhJZ","app_clave":"AccesoDurm","dispositivo_modelo":"SM-A520F","dispositivo_nombre":"dpi","plataforma":"GCM","dispositivo_token":"fdlqQou9kT0:APA91bH9rGo-7RmaAmGjk6KO_mRWhuHXWStg_YjHn-ST96fDbDplYSlLFxDapTGIcbNvKh3ZFSRKYLdiu1z1EHFsCxkeA53A6TH4WrKlnbELbGuVL-RCcP_z6u7pHCutWv7Lwstf4Cgs","dispositivo_uid":"356650098075205","app_usuario":"49598074","app_version":"2.0","dispositivo_version":"26"}
Ejemplo de mensaje de salida (respuesta a la petición):
//Salida 18 jun 2018 11:37:02,431 INFO LoggingFilter:202 - Usuario: ANONIMO-1529314617048 - 26 * Server out-bound response 26 < 200 26 < Content-Type: application/json 26 < {"dispositivo_push_id":494,"dispositivo_sn_uuid":"538f5665-15c5-3f80-887e-c6290a34b826"}
El número que aparece en 26 * Server in-bound request y en 26 * Server out-bound response, indica el ID de la petición. Si la petición es la 26 (26 * Server in-bound request), tengo que buscar la respuesta a esa petición (26 * Server out-bound response).
Estos mensajes, al ser de nivel info (nivel de Log4J), se muestran para todos los entornos.
Si se quieren ocultar, hay que añadir la siguiente configuración en el fichero log4j.xml. Añadiendo la entrada:
<logger name="es.um.atica.jersey.api.container.filter.LoggingFilter"> <level value="WARN"/> </logger>
Para poder ver SOLO los mensajes IN (entrada) que llegan y son enviados desde el servicio Rest, tenemos que editar el fichero web.xml añadiendo:
<!-- Log de Entrada --> <context-param> <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name> <param-value>es.um.atica.jersey.api.container.filter.LoggingFilter</param-value> </context-param>
Para poder ver SOLO los mensajes OUT (salida) que llegan y son enviados desde el servicio Rest, tenemos que editar el fichero web.xml añadiendo:
<!-- Log de Salida --> <context-param> <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name> <param-value>es.um.atica.jersey.api.container.filter.LoggingFilter</param-value> </context-param>
Para el cliente la configuración tiene que ser de la siguiente manera:
final ClientConfig clientConfig = new DefaultClientConfig(); clientConfig.getFeatures().put( JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE ); final Client client = Client.create( clientConfig ); client.addFilter( new es.um.atica.jersey.api.client.filter.LoggingFilter() );
— JUAN MIGUEL BERNAL GONZALEZ 18/06/2018 11:57