Skip to content

Commit 327013b

Browse files
authored
extract DarwinFormatter and add test (#394)
* extract DarwinFormatter and add test * add gradle tests dependency
1 parent 92a6f35 commit 327013b

File tree

5 files changed

+48
-11
lines changed

5 files changed

+48
-11
lines changed

build.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,12 @@ kotlin {
231231
val darwinMain by creating {
232232
dependsOn(commonMain)
233233
}
234+
val darwinTest by creating {
235+
dependsOn(commonTest)
236+
dependencies {
237+
implementation(kotlin("test"))
238+
}
239+
}
234240
linuxTargets.forEach {
235241
getByName("${it.targetName}Main") {
236242
dependsOn(linuxMain)
@@ -240,6 +246,9 @@ kotlin {
240246
getByName("${it.targetName}Main") {
241247
dependsOn(darwinMain)
242248
}
249+
getByName("${it.targetName}Test") {
250+
dependsOn(darwinTest)
251+
}
243252
}
244253
}
245254
}

gradlew

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/bin/sh
22

3+
export GRADLE_USER_HOME=~/.gradle-kotlin-logging
4+
export GRADLE_OPTS="-Dgradle.user.home=$GRADLE_USER_HOME"
35
#
46
# Copyright © 2015-2021 the original authors.
57
#

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

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package io.github.oshai.kotlinlogging
44

5+
import io.github.oshai.kotlinlogging.internal.DarwinFormatter
56
import kotlinx.cinterop.ExperimentalForeignApi
67
import kotlinx.cinterop.ptr
78
import platform.darwin.OS_LOG_TYPE_DEBUG
@@ -20,17 +21,7 @@ public class DarwinKLogger(override val name: String, override val underlyingLog
2021
override fun at(level: Level, marker: Marker?, block: KLoggingEventBuilder.() -> Unit) {
2122
if (isLoggingEnabledFor(level, marker)) {
2223
KLoggingEventBuilder().apply(block).run {
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-
}
24+
val formattedMessage: String = DarwinFormatter.getFormattedMessage(this, marker)
3425
_os_log_internal(
3526
__dso_handle.ptr,
3627
underlyingLogger,
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.github.oshai.kotlinlogging.internal
2+
3+
import io.github.oshai.kotlinlogging.KLoggingEventBuilder
4+
import io.github.oshai.kotlinlogging.Marker
5+
6+
internal object DarwinFormatter {
7+
8+
internal fun getFormattedMessage(builder: KLoggingEventBuilder, marker: Marker?): String {
9+
return buildString {
10+
marker?.getName()?.let {
11+
append(it)
12+
append(" ")
13+
}
14+
append(builder.message)
15+
builder.cause?.stackTraceToString()?.let {
16+
append('\n')
17+
append(it)
18+
}
19+
}
20+
}
21+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.github.oshai.kotlinlogging.internal
2+
3+
import io.github.oshai.kotlinlogging.KLoggingEventBuilder
4+
import kotlin.test.*
5+
6+
class DarwinFormatterTest {
7+
8+
@Test
9+
fun simpleTest() {
10+
KLoggingEventBuilder()
11+
.apply { message = "msg1" }
12+
.run { assertEquals("msg1", DarwinFormatter.getFormattedMessage(this, null)) }
13+
}
14+
}

0 commit comments

Comments
 (0)