feat(3.2.0): 日志异常堆栈的行数控制最多30行

This commit is contained in:
byteblogs168 2024-04-02 09:34:44 +08:00
parent 73a51130bf
commit 7b80936474
3 changed files with 15 additions and 0 deletions

View File

@ -105,6 +105,7 @@ public class EasyRetryLog4j2Appender extends AbstractAppender {
}
StringBuilder sb = new StringBuilder();
boolean isFirst = true;
int stackDeep = 0;
for (String s : Throwables.toStringList(throwable)) {
if (isFirst) {
isFirst = false;
@ -112,6 +113,10 @@ public class EasyRetryLog4j2Appender extends AbstractAppender {
sb.append(System.getProperty("line.separator"));
}
sb.append(s);
// 最多显示30行
if (++stackDeep >= 30) {
break;
}
}
return sb.toString();
}

View File

@ -72,6 +72,7 @@ public class EasyRetryLog4jAppender extends AppenderSkeleton {
}
StringBuilder sb = new StringBuilder();
boolean isFirst = true;
int stackDeep = 0;
for (String s : throwable.getThrowableStrRep()) {
if (isFirst) {
isFirst = false;
@ -79,6 +80,10 @@ public class EasyRetryLog4jAppender extends AppenderSkeleton {
sb.append(System.getProperty("line.separator"));
}
sb.append(s);
// 最多显示30行
if (++stackDeep >= 30) {
break;
}
}
return sb.toString();
}

View File

@ -78,11 +78,16 @@ public class EasyRetryLogbackAppender<E> extends UnsynchronizedAppenderBase<E> {
private String formatThrowable(StackTraceElementProxy[] stackTraceElementProxyArray) {
StringBuilder builder = new StringBuilder();
int stackDeep = 0;
for (StackTraceElementProxy step : stackTraceElementProxyArray) {
builder.append(CoreConstants.LINE_SEPARATOR);
String string = step.toString();
builder.append(CoreConstants.TAB).append(string);
ThrowableProxyUtil.subjoinPackagingData(builder, step);
// 最多显示30行
if (++stackDeep >= 30) {
break;
}
}
return builder.toString();
}