====== Logear Mensajes In/OUT ======
===== Configuración para el Servidor =====
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:
com.sun.jersey.spi.container.ContainerRequestFilters
es.um.atica.jersey.api.container.filter.LoggingFilter
com.sun.jersey.spi.container.ContainerResponseFilters
es.um.atica.jersey.api.container.filter.LoggingFilter
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:
==== Solo LOG de Entrada ====
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:
com.sun.jersey.spi.container.ContainerRequestFilters
es.um.atica.jersey.api.container.filter.LoggingFilter
==== Solo LOG de Salida ====
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:
com.sun.jersey.spi.container.ContainerResponseFilters
es.um.atica.jersey.api.container.filter.LoggingFilter
===== Configuración para el Cliente =====
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() );
----
--- //[[juanmiguel.bernal@ticarum.es|JUAN MIGUEL BERNAL GONZALEZ]] 18/06/2018 11:57//