2011-05-13 15 views
5

Estoy trabajando en la aplicación donde necesito la función de registro y filtrado. Estoy usando C++. Llegué a saber sobre el log log de log4cxx.Registro y filtrado utilizando log4cxx

Tengo dificultad para filtrar.

tengo cinco campos

  1. MacID
  2. Fecha y hora
  3. tipo de comando
  4. Estado
  5. Mensaje de Texto

necesito para almacenar estos 5 campos de la archivo de registro y filtrarlo también basado en la opción de filtrado a continuación. El registro y el filtrado se realizarán en el tiempo de ejecución. Una vez que el tamaño del archivo alcanza 10 MiB, comenzará a reescribir el archivo desde el principio.

opciones de filtrado
1. MacID
2. Fecha y hora

El filtrado se puede hacer mediante el filtrado de uno o ambos. El resultado debe devolver todo el campo en el archivo de registro.

  1. ¿Es posible almacenar más de un campo en el archivo de registro usando log4CXX?
  2. ¿Cómo se filtra la información según los criterios mencionados anteriormente?
  3. ¿Debo escribir mi propia clase de filtro heredando de las clases de filtro existentes?
  4. ¿Debo escribir la clase de registrador personalizada para almacenar 5 campos en el archivo de registro?
+2

¿Filtrar por logger? Por nivel de registro? ¿O tal vez por algún contenido en el mensaje de registro? Tienes que ser más específico sobre lo que quieres. –

+0

He actualizado la pregunta. –

+0

@Chris_vr su pregunta aún no está clara. ¿Qué quieres filtrar? Normalmente, los marcos de registro se filtran según la gravedad del nivel de registro. –

Respuesta

0

No creo que log4cxx sea la herramienta adecuada para su tarea, y no estoy seguro si esto se puede hacer con log4cxx.

Puede comenzar con un appender personalizado y su propio nivel de registro y su propio filtro.
Haga que se ejecute, necesita establecer un nivel de registro, determine qué campo de filtro se debe usar y, siempre que cambie el filtro, debe borrar los filtros y establecer uno nuevo. Luego puede extraer la cadena de registro, buscar su filtro y dejar que decida si desea generar el mensaje de registro o no.

+0

¿Hay alguna otra manera de hacerlo? Quiero decir que hay otra aplicación gratuita gratuita de terceros que puedo usar para este propósito. –

+0

Puedes ir con log4cxx. Siempre registre sus campos e intente filtrar la salida con una motosierra. http://logging.apache.org/chainsaw/index.html. Puede usar expresiones regulares para algunos filtros decentes con él. – mkaes

2

me enfrentaba a un problema similar, una vez que los puntos 1 y 4. leí log4cxx código y he encontrado una posible solución. Un compañero de trabajo probó la solución y la progresó. Sus conclusiones se pueden encontrar here.

Nos preguntaron en la lista de correo log4cxx si era la solución correcta y esta es la respuesta que got. Espero que eso ayude.

+0

gracias .... Te llamaré fco.javier.sanz pronto.Déjame intentar primero –

Cuestiones relacionadas