Quiero registrar solo las primeras líneas de Excepciones en mi programa. Lo sé, lo puedo hacer algo como esto para imprimir sólo los primeros 5 líneas de un StackTrace:Formateo de Log4j: ¿es posible truncar stacktraces?
Throwable e = ...;
StackTraceElement[] stack = e.getStackTrace();
int maxLines = (stack.length > 4) ? 5 : stack.length;
for (int n = 0; n < maxLines; n++) {
System.err.println(stack[n].toString());
}
Pero preferiría usar log4j (o slf4j sobre log4j para ser más precisos) para el registro. ¿Hay alguna manera de decirle a log4j que solo debería imprimir las primeras 5 líneas de un stacktrace?
maravilloso,% throwable {5} se limita a lo que necesito. – rompetroll
Tenga en cuenta que en caso de excepciones anidadas, esto cortará sin piedad los mensajes anidados, por lo que para muchos casos de uso del mundo real, esto es inútil. Lo que los desarrolladores necesitarían sería limitar el número de elementos de la pila por excepción en la traza. – tkruse