Log4j 格式化:是否可以截断堆栈跟踪?
2022-09-01 05:17:58
我只想在我的程序中记录异常的前几行。我知道,我可以做这样的事情来只打印堆栈跟踪的前5行:
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());
}
但我宁愿使用log4j(或slf4j而不是log4j更精确)进行日志记录。有没有办法告诉log4j它应该只打印堆栈跟踪的前5行?