Notas de la versión de Sun Java System Message Queue 4.1

Registro del tiempo de ejecución del cliente

Esta sección describe la compatibilidad de Message Queue 4.0 con registros de tiempo de ejecución del cliente de sucesos de conexión y eventos relacionados con la sesión

JDK 1.4 (y versiones superiores) incluye la biblioteca java.util.logging. Esta biblioteca implementa una interfaz de registro estándar que puede utilizarse para registros específicos de la aplicación.

El tiempo de ejecución del cliente de Message Queue utiliza Java Logging API para implementar sus funciones de registro. Puede utilizar todos los servicios de registro de J2SE 1.4 para configurar las actividades de registro. Por ejemplo, una aplicación puede utilizar los siguientes servicios de registro de Java para establecer cómo el tiempo de ejecución del cliente de Message Queue debe presentar su información de registro:

Para más información sobre el Java Logging API, consulte la presentación de este producto en http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html

Espacios de nombre de registro, niveles y actividades

El proveedor de Message Queue define un conjunto de espacios de nombre de registro asociados a los niveles de registro y a actividades de registro que permiten a los clientes de Message Queue crear un registro de los sucesos de conexión y de sesión siempre que se haya establecido correctamente la configuración de registro.

El espacio del nombre de registro raíz del tiempo de ejecución de Message Queue está definido como javax.jms. Todos los registros del tiempo de ejecución del cliente de Message Queue utilizan este nombre como espacio de nombres padre.

Los niveles de registro del tiempo de ejecución del cliente de Message Queue son los mismos que los definidos en la clase java.util.logging.Level. Esta clase define siete niveles de registro estándar y dos ajustes adicionales que puede utilizar para desactivar y activar el proceso de registro.

OFF

Desactiva el registro.

SEVERE

Cuanto mayor es la prioridad, más alto es el valor. Definido por la aplicación.

WARNING

Definido por la aplicación.

INFO

Definido por la aplicación.

CONFIG

Definido por la aplicación.

FINE

Definido por la aplicación.

FINER

Definido por la aplicación.

FINEST

Cuanto menor es la prioridad, menor es el valor. Definido por la aplicación.

ALL

Activa el registro de todos los mensajes.

En general, las excepciones y los errores que se producen en el tiempo de ejecución del cliente de Message Queue son registrados con el espacio de nombre javax.jms.

La siguiente tabla muestra una lista de los sucesos que pueden registrarse y el nivel de registro que debe establecerse en los sucesos de registro para las conexiones de JMS y las sesiones.

La siguiente tabla describe los niveles de registro y los sucesos de conexiones.

Tabla 1–6 Niveles de registro y sucesos para el espacio de nombre javax.jms.connection

Nivel de registro 

Sucesos 

FINE

Conexión creada 

FINE

Conexión iniciada 

FINE

Conexión cerrada 

FINE

Conexión interrumpida 

FINE

Conexión reanudada 

FINER

Diversas actividades de conexión como setClientID

FINEST

Mensajes, reconocimientos, mensajes de acción y control de Message Queue (como confirmar una transacción)  

Para las sesiones, se deja constancia de la siguiente información en el registro.

La siguiente tabla describe los niveles de registro y los sucesos de las sesiones.

Tabla 1–7 Niveles de registro y sucesos para el espacio de nombre javax.jms.session

Nivel de registro 

Suceso 

FINE

Sesión creada 

FINE

Sesión cerrada 

FINE

Productor creado 

FINE

Consumidor creado 

FINE

Destino creado 

FINER

Diversas actividades de sesión como confirmar una sesión. 

FINEST

Mensajes producidos y consumidos. (Las propiedades y los cuerpos de los mensajes no se consignan en los registros.) 

Por defecto, el nivel de registro de salida se hereda del JRE en que se esté ejecutando la aplicación. Compruebe el archivo JRE_DIRECTORY/lib/logging.properties para determinar cuál es el nivel.

Puede configurar el registro de forma programática o mediante archivos de configuración, de forma que pueda controlar el ámbito en que se produce el registro. En las siguientes secciones se describen estas posibilidades.

Mediante el archivo de configuración de registro JRE

El siguiente ejemplo muestra cómo establecer espacios de nombre y niveles de registro en el archivo JRE_DIRECTORY/lib/logging.properties, que se utiliza para establecer el nivel de registro del entorno en tiempo de ejecución de Java. Todas las aplicaciones que utilicen este JRE tendrán la misma configuración de registro. El ejemplo de configuración que se muestra abajo establece el nivel de registro en INFO para el espacio de nombre javax.jms.connection y especifica que la salida debe escribirse en java.util.logging.ConsoleHandler .

#registro.archivo de propiedades.
# "controladores" especifica una lista separada por comas de clases
# de controladores de registro. Estos controladores se instalan durante el inicio de VM.
# Tenga en cuenta que estas clases deberán estar en la ruta de clase del sistema.
# Por defecto, solo configuramos un ConsoleHandler, que sólo mostrará
# mensajes en el nivel INFO y superiores.

	controladores= java.util.logging.ConsoleHandler

# Nivel de registro global predeterminado.
# Especifica qué tipo de sucesos se registran en todos los
# registros. Es posible anular este nivel global para un recurso 
# determinado y sustituirlo por un nivel específico para el recurso.
# Observe que el ConsoleHandler también tiene una configuración de nivel
# independiente para limitar los mensajes que se imprimen en la consola.

    .nivel= INFO

#Limitar los mensajes que se imprimen en la consola a INFO y niveles superiores.

    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.ConsoleHandler.formatter = 
                                    java.util.logging.SimpleFormatter

# Este registro con espacio de nombre de conexión javax.jms. escribirá
# mensajes de nivel INFO en sus controladores de salida. En esta configuración 
# el controlador de entrada está establecido en java.util.logging.ConsoleHandler.

    javax.jms.connection.level = INFO

Utilizar un archivo de configuración de registro para una aplicación específica

También puede definir un archivo de configuración de registro desde la línea de comandos de Java que utiliza para ejecutar una aplicación. La aplicación utilizará la configuración definida en el archivo de registro especificado. En el siguiente ejemplo, configFile utiliza el mismo formato definido en el archivo JRE_DIRECTORY/lib/logging.properties .

java -Djava.util.logging.config.file=configFile MQApplication

Establecer la configuración de registro de forma programática

El siguiente código utiliza el API java.util.logging para registrar sucesos de conexión y lo hace cambiando el nivel del espacio de nombre javax.jms.connection a FINE. Puede incluir este código en su aplicación para establecer la configuración de registro de forma programática.

import java.util.logging.*;
//construye un controlador de archivo y una salida en el archivo mq.log  
//del directorio temp del sistema.

    Handler fh = new FileHandler("%t/mq.log");
    fh.setLevel (Level.FINE);

//Obtener registrador para el dominio  "javax.jms.connection".

    Logger logger = Logger.getLogger("javax.jms.connection");
    logger.addHandler (fh);

//el registrador javax.jms.connection registraría las actividades 
//de nivel FINE y superior.

    logger.setLevel (Level.FINE);