Skip to content

Commit d13df90

Browse files
authored
Log marker and stacktrace on Darwin (#379)
1 parent c08fdf2 commit d13df90

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/darwinMain/kotlin/io/github/oshai/kotlinlogging/DarwinKLogger.kt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,23 @@ public class DarwinKLogger(override val name: String, override val underlyingLog
2020
override fun at(level: Level, marker: Marker?, block: KLoggingEventBuilder.() -> Unit) {
2121
if (isLoggingEnabledFor(level, marker)) {
2222
KLoggingEventBuilder().apply(block).run {
23-
_os_log_internal(__dso_handle.ptr, underlyingLogger, level.toDarwinLevel(), message)
23+
val formattedMessage = buildString {
24+
marker?.getName()?.let {
25+
append(it)
26+
append(" ")
27+
}
28+
append(message)
29+
cause?.stackTraceToString()?.let {
30+
append('\n')
31+
append(it)
32+
}
33+
}
34+
_os_log_internal(
35+
__dso_handle.ptr,
36+
underlyingLogger,
37+
level.toDarwinLevel(),
38+
formattedMessage
39+
)
2440
}
2541
}
2642
}

0 commit comments

Comments
 (0)