martes, 10 de enero de 2012

Oracle ADF: Trazabilidad/Logger

Es de buena costumbre "trazar" el código que se desarrollan en nuestras aplicaciones ADF y WebCenter. En numerosas ocasiones, por falta de experiencia con el framework de Oracle ó por costumbre de utilizar otros trazadores más comunes en aplicaciones J2EE como log4j o slf4j obviamos la existencia de un trazador que se integra a la perfección con las aplicaciones ADF. Este trazador no es otro que ADFLogger.

¿Qué ventaja tiene ADFLogger con respecto a trazadores como log4j?.
  • Facilidad a la hora de cambiar el nivel de traza, tanto en desarrollo como en nuestro JDeveloper. Al ejecutar el servidor de aplicaciones integrado, podremos desde su pestaña acceder a configurar el nivel de traza.

    Acceso a configuración de nivel de traza en WebLogic Integrado
     
    Nivel de traza para un paquete que contiene nuestro código
  • Posibilidad de cambiar el nivel de trazas desde la consola Enterprise Manager.
¿Qué tipos de ADFLogger hay?.

Existen dos trazadores ADFLogger que proporciona el framework de desarrollo de Oracle.
  • oracle.adf.share.logging.ADFLogger. Es el trazador que usaremos en las clases Java que componen nuestra aplicación ADF. (Enlace al API).
  • oracle.adf.view.js.logging.AdfLogger. Es el trazador utilizado para cuando se utiliza el API de JavaScript que proporciona el framework de Oracle ADF. (Enlace al API).
¿Cómo se usan los ADFLogger?
  • En el caso de oracle.adf.share.logging.ADFLogger se crea un objeto trazador del siguiente modo.

    Instanciación de un ADFLogger en una clase Java
    A la hora de utilizarlo, se debe tener muy en cuenta los distintos niveles de traza existentes, usando, por ejemplo, SEVERE, para el caso en el que el sistema vaya a fallar y deje de funcionar o INFO para indicar una acción importante realizada por el código. Además, para un mejor rendimiento del mismo, se recomienda que se encapsule la llamada al trazador con un IF que primero verifique que ese nivel de traza está habilitado.

    Uso de ADFLogger en Java
  • Con respecto a  oracle.adf.view.js.logging.AdfLogger. Es necesario habilitar su nivel de traza en el parámetro de contexto del archivo web.xml. 
    Parámetro de contexto para establecer el nivel de traza de AdfLogger en JavasCript
    Invocamos al Logger usando el API indicado anteriormente.
    Función que invoca el API de AdfLogger de JavaScript
    Finalmente vemos nuestras trazas en la consola de JavaScript.
Mensajes de nuestro trazador en la consola del navegador

Un saludo a todos.