diff --git a/rxlib/src/main/java/org/rx/core/ThreadPool.java b/rxlib/src/main/java/org/rx/core/ThreadPool.java index 46c89cb1..c9ee5261 100644 --- a/rxlib/src/main/java/org/rx/core/ThreadPool.java +++ b/rxlib/src/main/java/org/rx/core/ThreadPool.java @@ -205,7 +205,7 @@ public T call() { throw e; } finally { Thread t = Thread.currentThread(); - TraceHandler.INSTANCE.saveMethodTrace(t, fn.getClass(), Reflects.getStackTrace(t), new Object[]{id}, + TraceHandler.INSTANCE.saveMethodTrace(t, fn.getClass(), Reflects.getStackTrace(t), id == null ? null : new Object[]{id}, r, ex, System.nanoTime() - s); } return r; diff --git a/rxlib/src/main/java/org/rx/exception/TraceHandler.java b/rxlib/src/main/java/org/rx/exception/TraceHandler.java index ab7c16c0..46076b68 100644 --- a/rxlib/src/main/java/org/rx/exception/TraceHandler.java +++ b/rxlib/src/main/java/org/rx/exception/TraceHandler.java @@ -28,6 +28,7 @@ import java.util.concurrent.ScheduledFuture; import static org.rx.core.Extends.as; +import static org.rx.core.Extends.ifNull; import static org.rx.core.RxConfig.ConfigNames.TRACE_KEEP_DAYS; import static org.rx.core.RxConfig.ConfigNames.getWithoutPrefix; import static org.rx.core.Sys.toJsonString; @@ -195,7 +196,7 @@ void innerSave(String thread, String msg, Throwable e) { int eMsgFlag = stackTrace.indexOf("\n"); String eMsg = stackTrace.substring(0, eMsgFlag); stackTrace = stackTrace.substring(eMsgFlag + 2); - msg = eMsg + msg; + msg = eMsg + ifNull(msg, ""); long pk = CodecUtil.hash64(stackTrace); // Tasks.nextPool().runSerial(() -> {