¿Hay un diseño / formateador Log4J que pode los rastros de pila para excepciones?

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

  •  10-07-2019
  •  | 
  •  

Pregunta

Estoy buscando un diseño / formateador Log4J que me ayude a podar los rastros de la pila en excepciones un poco mejor que los valores predeterminados. Que la ejecución de la pila esté en algún lugar debajo de main () es bastante obvio e innecesario para mí saber, y que la excepción ocurrió profundamente dentro de otra biblioteca realmente no es nada sobre lo que pueda hacer demasiado.

Lo que me gustaría es un diseño que recorte el seguimiento de la pila, digamos las últimas 5 llamadas al método dentro de mi propio código, identificado por contener el archivo jar, el paquete u otra cosa.

¿Hay algo en este sentido, o tengo que escribir algo de magia yo mismo?

¿Fue útil?

Solución

Intenté buscar esto también, pero no encontré nada satisfactorio, así que escribí un ThrowableRenderer personalizado que elimina los marcos de pila extraños. He abierto el código para que otros lo usen. Echa un vistazo a mi publicación de blog en ella; puedes encontrar un enlace al código allí.

Otros consejos

Hice una pregunta similar (sobre suprimiendo completamente el seguimiento de la pila hace un tiempo.

Desafortunadamente, no hay una configuración para eso, debe subclasificar PatternLayout para hacerlo.

El " ex " o "excepción" La palabra de conversión en logback-classic (sucesor de log4j) admite la impresión del número especificado de líneas de seguimiento de pila. El " ex " la palabra de conversión se documenta con el resto de palabras de conversión . Necesitas desplazarte un poco hacia abajo.

Si necesita más información sobre este tema, comuníquese con la lista de correo del usuario de logback.

Hay tres formas de hacer esto:

  1. Encuentra una biblioteca o código que alguien más hizo
  2. Escríbelo tú mismo (extender / implementar)
  3. Use el diseño predeterminado, pero pode la pila de la excepción antes de pasarla al registrador

Puede escribir un Appender personalizado que tenga la lógica especial que necesita. Esa podría ser una buena manera de hacerlo.

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