====== 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//