Skip to content

Commit 36f6919

Browse files
committed
[F] Fix FQCN for uncaught exceptions
1 parent 765d643 commit 36f6919

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/main/kotlin/org/hydev/logger/HyLogger.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ class HyLogger(val prefix: String)
1919
if (level == DEBUG && !debug) return
2020

2121
// Find stack trace
22-
val stOrig = Thread.currentThread().stackTrace
23-
val st = stOrig.filter { !it.className.startsWith("org.hydev.logger") }
24-
val stack = st.firstOrNull { s -> !s.className.startsWith("java.") } ?: st.getOrNull(0) ?: stOrig[0]
25-
val fqcn = "${stack.className}.${stack.methodName}:${stack.lineNumber}"
22+
val stOrig = Thread.currentThread().stackTrace.toMutableList().apply { removeAt(0); removeAt(0) }
23+
val fqcn = if (level == ERROR && stOrig.last().toString().startsWith("java.lang.Thread.dispatchUncaughtException(")) "Uncaught" else
24+
{
25+
val st = stOrig.filter { !it.className.startsWith("org.hydev.logger") }
26+
val stack = st.firstOrNull { !it.className.startsWith("java.") } ?: st.getOrNull(0) ?: stOrig[0]
27+
"${stack.className}.${stack.methodName}:${stack.lineNumber}"
28+
}
29+
2630

2731
message.lines().forEach { line ->
2832
appenders.forEach { it.log(LogData(level, prefix, line, fqcn)) }

0 commit comments

Comments
 (0)