Registro binario

El registro binario es un recurso de registro y rastreo de alto rendimiento basado en la tecnología HPEL (High Performance Extensible Logging) en WebSphere Application Server tradicional.

Visión general

Nota: Debe habilitar el recurso de registro binario para utilizarlo.

El registro cronológico binario proporciona una forma cómoda de almacenar y acceder a la información de registro, rastreo, System.err y System.out generada por el servidor de aplicaciones o sus aplicaciones. Es una alternativa al recurso de registro y rastreo predeterminado, que proporciona los registros de JVM y los archivos de rastreo de diagnóstico denominados normalmente messages.log y trace.log.

Almacenamiento de registro y rastreo

El registro cronológico binario proporciona un repositorio de datos de registro y un repositorio de datos de rastreo. Consulte la figura siguiente para comprender cómo las aplicaciones y el servidor de aplicaciones almacenan la información de registro y de rastreo.

Almacenamiento de registro y rastreo para el registro de HPEL y básico
En la figura anterior:
  1. El registro del código de la aplicación se recopila en un registrador raíz, que envía los datos de registro a un manejador de datos de registro/rastreo en el marco de trabajo de registro de HPEL y a un manejador de datos de registro/rastreo en el marco de trabajo de registro predeterminado.
  2. El registro de datos del servidor de aplicaciones lo recopila un registrador y lo envía a una interfaz periférica de serie (SPI), que envía los datos de registro a un servicio de registro/rastreo en el marco de trabajo de registro de HPEL y un servicio de registro/rastreo en el marco de trabajo de registro predeterminado.
  3. El servicio de registro/rastreo en cada marco de trabajo envía los datos al manejador de datos de registro/rastreo para ese marco de trabajo.
  4. El manejador de datos de registro/rastreo del marco de trabajo de registro de HPEL envía los datos al repositorio de datos de registro, repositorio de datos de rastreo y el registro de texto dentro de ese marco de trabajo.
  5. El manejador de datos de registro/rastreo del marco de trabajo de registro predeterminado envía los datos al registro de mensajes y al registro de rastreo dentro de ese marco de trabajo.
  6. Los datos de cada marco de trabajo también se envían al registro de consola.
Repositorio de datos de registro

El repositorio de datos de registro es un recurso de almacenamiento para los registros. Normalmente, los datos de registro están pensados para que los revisen los administradores. Esto incluye las aplicaciones de información o la escritura del servidor en System.out, System.err, el servicio de registro OSGi a nivel LOG_INFO o superior (incluidos LOG_INFO, LOG_WARNING, y LOG_ERROR) o java.util.logging a nivel Detail o superior (incluidos Detail, Config, Info, Audit, Warning, Severe, Fatal y los niveles personalizados a nivel Detail o superior).

Repositorio de datos de rastreo

El repositorio de datos de rastreo es un recurso de almacenamiento para los registros de rastreo. Los datos de rastreo suelen estar pensados para que los utilicen los programadores de aplicaciones o el equipo de soporte de WebSphere® Application Server . Esto incluye cualquier información que las aplicaciones o el servidor escriban en el servicio de registro OSGi en el nivel LOG_DEBUG o java.util.logging en niveles inferiores al nivel Detail (incluidos Fine, Finer, Finest y cualquier nivel personalizado inferior al nivel Detail).

Rendimiento del registro y el rastreo

El registro cronológico binario se ha diseñado y probado para mejorar de forma significativa el recurso de registro y rastreo predeterminado. La influencia sobre el rendimiento de ejecutar el servidor de aplicaciones el rastreo habilitado es mucho más importante si se utiliza el registro binario, en lugar del marco de trabajo predeterminado de registro y rastreo. Además, el uso del registro binario provoca que las aplicaciones, que escriben con frecuencia en los registros, se ejecuten más rápidamente.

Los sucesos de registro y de rastreo se almacenan en un solo lugar

Los sucesos de registro, System.outy y System.err se almacenan en el repositorio de datos de registro. Los sucesos de rastreo se almacenan en el repositorio de datos de rastreo. Almacenar cada tipo de suceso en un único lugar garantiza que no se desperdicie rendimiento en el almacenamiento redundante de datos.

Nota: El registro de consola debe estar inhabilitado en los casos en los que el rendimiento del registro es importante. Cualquier contenido grabado en el registro de la consola estará almacenado ya en el repositorio de datos del registro.
Imagen que muestra el servidor de aplicaciones que se conecta a los repositorios de datos de registro y rastreo.
No se da formato a los datos a menos que sea necesario

El formateo de datos para la lectura del usuario utiliza tiempo de procesador. En lugar de dar formato a los datos de suceso del registro y del rastreo en tiempo de ejecución, los datos de registro y de rastreo se almacenan más rápidamente en una representación binaria de propietario. Esto mejora el rendimiento del recurso de registro y de rastreo. Al aplazar el formato de registro y rastreo hasta elbinaryLogse ejecuta, las secciones del registro o rastreo que nunca se visualizan nunca se formatean.

Los datos de registro y rastreo se almacenan en el almacenamiento intermedio antes de grabarse en disco

Grabar grandes bloques de datos en un disco es más eficaz que grabar la misma cantidad de datos en bloques pequeños. El recurso de registro cronológico binario permite guardar en el almacenamiento intermedio los datos de registro y rastreo antes de grabarlos en disco. De forma predeterminada, los datos de registro y rastreo se guardan en un almacenamiento intermedio de 8 KB antes de grabarlos en disco. Si el almacenamiento intermedio se llena en 10 segundos, dicho almacenamiento intermedio se graba en disco. Si el almacenamiento intermedio no se llena en ese tiempo, se graba automáticamente en disco para garantizar que los registros tengan la información más actual.

Administración de registro y de rastreo

El registro cronológico binario se ha diseñado para que sea fácil de configurar y de entender. Por ejemplo, los administradores pueden configurar fácilmente cuánto espacio de disco se va a dedicar al registro y al rastreo, o cuánto tiempo se deben conservar los registros de rastreo y de registro, y dejar la gestión del contenido de registro y rastreo al servidor. Como otro ejemplo, se puede acceder a todo el contenido de registro, rastreo, System.outy System.err utilizando un mandato fácil de utilizar (binaryLog), evitando cualquier posible confusión sobre a qué archivo acceder para determinados contenidos.

Lectura de los repositorios de datos de registro y de datos de rastreo

Los repositorios de datos de registro y de datos de rastreo se almacenan en un formato propietario de WebSphere Application Server y no se pueden leer utilizando editores de archivos de texto como Notepad o VI. Puede copiar los repositorios de datos de registro y de datos de rastreo en un formato de texto sin formato utilizando elbinaryLogmandato.

Imagen que muestra el visor de registros que extrae datos de los repositorios de datos de registro y rastreo en un registro de texto.
Mandato binaryLog

binaryLoges una herramienta de línea de mandatos fácil de utilizar que se proporciona a los usuarios para trabajar con los repositorios de datos de registro y de datos de rastreo.binaryLogproporciona opciones de filtrado y formateo que facilitan la búsqueda de contenido importante en los repositorios de datos de registro y rastreo. Por ejemplo, un usuario puede filtrar cualquier error o aviso y, a continuación, filtrar todas las entradas de registro y rastreo que se han producido en los 10 segundos posteriores a un mensaje de error clave en la misma hebra.

Filtrado mediante el contenido de extensión del registro de rastreo y de registro

El recurso de registro binario proporciona a los desarrolladores la posibilidad de añadir extensiones personalizadas para registrar y rastrear registros utilizando una API de contexto de registro de anotaciones (com.ibm.websphere.logging.hpel.LogRecordContext). Puede utilizar elbinaryLogherramienta de línea de mandatos para filtrar registros basándose en el contenido de las extensiones de registro cronológico y de rastreo.

Recursos de desarrollo

El registro cronológico binario permite trabajar de forma más flexible y eficaz con el contenido de registro y rastreo que el recurso de registro predeterminado. El contenido del registro y el rastreo puede filtrarse fácilmente para que sólo se muestren los registros que le interesen. Puede utilizar la línea de mandatos (consulte la descripción delbinaryLogo los desarrolladores pueden crear potentes programas de manejo de registros utilizando la API de HPEL.

Imagen que muestra los repositorios de datos de registro y rastreo que se conectan a la API com.ibm.websphere.logging.hpel .
Lectura de los repositorios de datos de registro cronológico y de rastreo

Se proporciona una API para facilitar a los desarrolladores el desarrollo de herramientas para el consumo de contenido de los repositorios de registro y rastreo binario. Por ejemplo, un desarrollador puede escribir un programa Java™ para buscar el contenido de registro y rastreo para encontrar los mensajes con ID de mensaje que coincidan con una lista conocida de ID de mensaje importantes. Esta API se encuentra en el paquete com.ibm.websphere.logging.hpel. Consulte la documentación de la API para obtener detalles sobre la API de lectura de registros de HPEL.

Posibilidad de ampliación del registro de rastreo y de registro

Los desarrolladores pueden añadir extensiones personalizadas para registrar y rastrear registros a través de una API de contexto de registro de anotaciones (com.ibm.websphere.logging.hpel.LogRecordContext). Cuando el registro binario almacena registros de anotaciones y de rastreo, incluye las extensiones presentes en el contexto de registro de anotaciones en la misma hebra. Por ejemplo, un desarrollador puede grabar un filtro de servlet para añadir parámetros de solicitud HTTP importantes al contexto de registro. Mientras se ejecuta ese servlet, la API de HPEL añade esas extensiones a los registros de rastreo y de registro creados en la misma hebra.

Al igual que con otros campos de registro de rastreo y de registro, los desarrolladores pueden acceder a las extensiones de registro mediante la API de HPEL. Esto es muy útil cuando se graban herramientas para leer los repositorios de rastreo y de registro. Los desarrolladores pueden utilizar también la API de contexto para acceder a las extensiones de manejadores de registro personalizados, filtros y formateadores en tiempo de ejecución.