From dbfb1723214171485ad07975d5dd1aad74f563eb Mon Sep 17 00:00:00 2001 From: oshai Date: Mon, 15 Jan 2024 11:34:32 +0200 Subject: [PATCH 1/3] extract DarwinFormatter and add test --- build.gradle.kts | 5 +++++ .../oshai/kotlinlogging/DarwinKLogger.kt | 13 ++---------- .../kotlinlogging/internal/DarwinFormatter.kt | 21 +++++++++++++++++++ .../internal/DarwinFormatterTest.kt | 13 ++++++++++++ 4 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt create mode 100644 src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt diff --git a/build.gradle.kts b/build.gradle.kts index cb462607..74084e00 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -188,6 +188,11 @@ kotlin { val darwinMain by creating { dependsOn(commonMain) } + val darwinTest by creating { + dependencies { + implementation(kotlin("test")) + } + } linuxTargets.forEach { getByName("${it.targetName}Main") { dependsOn(linuxMain) diff --git a/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/DarwinKLogger.kt b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/DarwinKLogger.kt index ddee780c..5715c4a9 100644 --- a/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/DarwinKLogger.kt +++ b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/DarwinKLogger.kt @@ -2,6 +2,7 @@ package io.github.oshai.kotlinlogging +import io.github.oshai.kotlinlogging.internal.DarwinFormatter import kotlinx.cinterop.ExperimentalForeignApi import kotlinx.cinterop.ptr import platform.darwin.OS_LOG_TYPE_DEBUG @@ -20,17 +21,7 @@ public class DarwinKLogger(override val name: String, override val underlyingLog override fun at(level: Level, marker: Marker?, block: KLoggingEventBuilder.() -> Unit) { if (isLoggingEnabledFor(level, marker)) { KLoggingEventBuilder().apply(block).run { - val formattedMessage = buildString { - marker?.getName()?.let { - append(it) - append(" ") - } - append(message) - cause?.stackTraceToString()?.let { - append('\n') - append(it) - } - } + val formattedMessage: String = DarwinFormatter.getFormattedMessage(this, marker) _os_log_internal( __dso_handle.ptr, underlyingLogger, diff --git a/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt new file mode 100644 index 00000000..9f016c30 --- /dev/null +++ b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt @@ -0,0 +1,21 @@ +package io.github.oshai.kotlinlogging.internal + +import io.github.oshai.kotlinlogging.KLoggingEventBuilder +import io.github.oshai.kotlinlogging.Marker + +internal object DarwinFormatter { + + internal fun getFormattedMessage(builder: KLoggingEventBuilder, marker: Marker?): String { + buildString { + marker?.getName()?.let { + append(it) + append(" ") + } + append(builder.message) + builder.cause?.stackTraceToString()?.let { + append('\n') + append(it) + } + } + } +} diff --git a/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt b/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt new file mode 100644 index 00000000..2bd38366 --- /dev/null +++ b/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt @@ -0,0 +1,13 @@ +package io.github.oshai.kotlinlogging.internal + +import kotlin.test.* + +class DarwinFormatterTest { + + @Test + fun simpleTest() { + KLoggingEventBuilder().apply { message = "msg" }.run { + assertEquals("msg", DarwinFormatter.getFormattedMessage(this, null)) + } + } +} From 20b53599fd3903650cba8586f6a8f921ade77756 Mon Sep 17 00:00:00 2001 From: oshai Date: Mon, 15 Jan 2024 11:41:48 +0200 Subject: [PATCH 2/3] add missing return --- .../io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt index 9f016c30..74220130 100644 --- a/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt +++ b/src/darwinMain/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatter.kt @@ -6,7 +6,7 @@ import io.github.oshai.kotlinlogging.Marker internal object DarwinFormatter { internal fun getFormattedMessage(builder: KLoggingEventBuilder, marker: Marker?): String { - buildString { + return buildString { marker?.getName()?.let { append(it) append(" ") From 88e4244c58fe1b1d51e4e9be1011b9b56a2a8432 Mon Sep 17 00:00:00 2001 From: oshai Date: Mon, 15 Jan 2024 12:15:06 +0200 Subject: [PATCH 3/3] test --- .../github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt b/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt index 2bd38366..5d12c0ca 100644 --- a/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt +++ b/src/darwinTest/kotlin/io/github/oshai/kotlinlogging/internal/DarwinFormatterTest.kt @@ -7,7 +7,7 @@ class DarwinFormatterTest { @Test fun simpleTest() { KLoggingEventBuilder().apply { message = "msg" }.run { - assertEquals("msg", DarwinFormatter.getFormattedMessage(this, null)) + assertEquals("msg1", DarwinFormatter.getFormattedMessage(this, null)) } } }