2010-02-24 20 views
7

Tenemos varias aplicaciones que usan log4j para el registro. Necesito hacer funcionar un analizador log4j para poder combinar varios archivos de registro y ejecutar un análisis automatizado sobre ellos. No estoy buscando reinventar la rueda, ¿alguien me puede indicar un analizador preexistente decente? Tengo el patrón de conversión log4j si eso ayuda.Analizar un archivo de registro de log4j

Si no, tendré que hacer la nuestra.

Respuesta

8

No me di cuenta de que log4J se envía con un appender XML.

Soltuion fue: especifique un apéndice xml en el archivo de configuración de registro, incluya ese archivo xml de salida como una entidad en un archivo xml bien formado, luego analice el xml usando su técnica favorita.

Los otros métodos tenían las siguientes limitaciones:

  • motosierra - no lo suficientemente automatizado
  • JDBC - pobre rendimiento en una aplicación distribuida de alto rendimiento
2

Lo que estás buscando se llama SawMill, o algo así como.

+1

+1 para el enlace. Debería mencionar que Sawmill no es gratis. –

1

Los archivos de registro de Log4j no son realmente adecuados para el análisis sintáctico, son demasiado complejos y no están estructurados. Existen herramientas de terceros que pueden hacerlo, creo (por ejemplo, Sawmill).

Si necesita realizar un análisis automatizado y personalizado de los registros, debe considerar la posibilidad de iniciar sesión en una base de datos y analizarla. JDBC se envía con el JdbcAppender, que agrega todos los mensajes a la base de datos de su elección, pero tiene implicaciones de rendimiento, y es un poco escabroso. Sin embargo, existen otras alternativas similares en el interweb (como this one).

0

Usted -CAN- utiliza de Log4J motosierra V2 para procesar los diversos archivos de registro y reunirlas en una misma mesa, y, o bien salida de esos eventos como XML o utilizar & apoyo colorear incorporado en el filtrado basado en la expresión, en busca de la motosierra para cortar & dados los registros.

Pasos: - Inicio de la motosierra V2 - Crear un archivo de configuración motosierra copiando el archivo de configuración de ejemplo disponibles en la pestaña de bienvenida - definir la entrada de un LogFilePatternReceiver 'plug-in' para cada archivo de registro que desea procesar - Inicio de la motosierra con esa configuración - Cada archivo de registro terminará como una pestaña separada en la IU - Pausa la pestaña de registro de motosierra y borra los eventos de esa pestaña - Crea una pestaña nueva que agrega los eventos de las distintas pestañas yendo a la opción de menú 'ver, crear el logpanel de expresiones personalizadas de cajas' e ingresar 'nivel> = DEPURACIÓN' en el cuadro. Creará una nueva pestaña que contiene eventos de todas las pestañas con nivel> = depuración (razón por la cual borró la pestaña de registro de motosierra).

Puede obtener una descripción general de la sintaxis de expresión utilizada para filtrar, colorear y buscar desde el tutorial (disponible en el menú Ayuda).

Si no desea utilizar Chainsaw, puede hacer algo similar: iniciar una aplicación sencilla que no se registra pero carga un archivo de configuración log4j.xml con las entradas de 'complemento' que definió para la configuración de Motosierra, pero también define un FileAppender con xmllayout: todos los eventos recibidos por los "receptores" se enviarán al único appender.

3

Puede utilizar OtrosLogViewer con batch processing. Usted tiene que:

  1. Definir formato de iniciar sesión, puede utilizar Log4j pattern layout parser o Log4j XmlLayout
  2. Crear clase de Java que implementa LogDataParsedListener. Se llamará al método public void logDataParsed (Datos LogData, BatchProcessingContext context) en cada evento de registro analizado.
  3. Crear jar
  4. Ejecute OtrosLogViewer con la especificación de su jar de proceso de registro, implementación LogDataParsedListener y archivos de registro.
Cuestiones relacionadas