¿El mejor formato XML para eventos de registro en términos de soporte de herramientas para minería de datos y visualización?

StackOverflow https://stackoverflow.com/questions/465329

Pregunta

Queremos poder crear archivos de registro desde nuestra aplicación Java, que es adecuada para su posterior procesamiento por herramientas para ayudar a investigar errores y recopilar estadísticas de rendimiento.

Actualmente utilizamos el tradicional "registro" que puede o no aplanarse en forma de texto y adjuntarse a un archivo de registro ", pero esto funciona mejor para pequeñas cantidades de información leída por un humano.

Después de una cuidadosa consideración, la mejor opción ha sido almacenar los eventos de registro como fragmentos XML en archivos de texto (que luego se tratan como cualquier otro archivo de registro), y luego descargarlos a la máquina con la herramienta adecuada para el procesamiento posterior.

Me gustaría utilizar un formato XML tan ampliamente compatible como sea posible, y en este momento estoy en "investigación-luego-toma-decisión". fase. Agradecería cualquier ayuda tanto en términos de formato XML como de herramientas y estaría encantado de escribir código de pegamento para obtener lo que necesito.

Lo que he encontrado hasta ahora:

formato XML log4j: compatible con motosierra y Vigilog. Formato XML de Lilith: compatible con Lilith

Herramientas no investigadas:

Microsoft Log Parser: aparentemente es compatible con XML. Visor de registro de OS X:

además, hay muchas herramientas en http: // www. loganalysis.org/sections/parsing/generic-log-parsers/

¿Alguna sugerencia?

¿Fue útil?

Solución 5

Parece que el visor de registros de Lilith contiene un formato XML que se adapta bien a las funciones adicionales disponibles en el inicio de sesión y no solo a las cosas log4j.

Es, por ahora, la mejor apuesta hasta ahora :)


Adapte la clase log4j xmllayout al inicio de sesión, que funciona con motosierra.


Como no he podido encontrar un visor de registro adecuado capaz de visualizar información de eventos (en lugar de simplemente presentar todos los eventos en una tabla), por ahora he decidido crear un diseño xml muy conciso que contenga información analizable por máquina basada en el arriba, que luego puede ser procesado posteriormente por Microsoft LogParser a cualquier formato que necesite.

Otros consejos

Desafortunadamente, no puedo darte la respuesta que estás buscando, pero me gustaría advertirte de algo a tener en cuenta al iniciar sesión en XML. Por ejemplo:

<log>
 <msg level="info">I'm a log message</msg>
 <msg level="info">I'm another message</msg>
 <!-- maybe you won't even get here -->
 <msg level="fatal">My server just ate a flaming death

En el fragmento anterior de un registro XML potencial, puede ver el mayor inconveniente de iniciar sesión en XML. Cuando ocurre una falla catastrófica, su formato de registro se rompe porque requiere etiquetas de cierre. Sin embargo, si está utilizando un programa que analiza su salida de registro principal, esto no debería ser un gran problema.

Si está definiendo su propia escritura de archivo de registro XML, no necesita preocuparse por tener una etiqueta de cierre y apertura para producir un XML válido. La respuesta de Elijah es correcta, ya que tiene el problema si desea crear un documento XML, pero eso no es necesario de inmediato. El estándar W3 también define Entidades XML (consulte la sección 4.3 de la especificación XML 1.0 de W3, segunda edición, que desafortunadamente no puedo vincular a usted porque no tengo suficientes puntos), que sería más adecuado para agregar al estilo de registro continuamente a un archivo sin reescribir partes de él. Luego, puede crear un documento contenedor XML de referencia si necesita trabajar con un documento XML real en lugar de una entidad XML (consulte http://www.perlmonks.org/?node_id=217788#217797 por ejemplo)

Una de las cosas buenas de log4j es que ofrece buenas posibilidades para personalizar los formatos de registro y dónde están escritos.

Entonces, en lugar de elegir algún formato de archivo de registro, elegiría una biblioteca de registro que permita cambiar el formato y también permita obtener el registro directamente en algún programa.

Te aconsejo que consideres logback-access para eventos.

Aparte de eso, cualquier cosa que use JMX, ya que se hizo para que coincida con el conjunto de características de SNMP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top