Skip to content

Commit ba7b220

Browse files
committed
fix: log simple name in json type field
1 parent f7d4523 commit ba7b220

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

app/src/main/java/to/bitkit/utils/Logger.kt

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import kotlinx.coroutines.Dispatchers
66
import kotlinx.coroutines.SupervisorJob
77
import kotlinx.coroutines.launch
88
import kotlinx.serialization.json.Json
9+
import kotlinx.serialization.json.JsonObject
10+
import kotlinx.serialization.json.buildJsonObject
11+
import kotlinx.serialization.json.encodeToJsonElement
12+
import kotlinx.serialization.json.put
913
import kotlinx.serialization.serializer
1014
import org.lightningdevkit.ldknode.LogRecord
1115
import org.lightningdevkit.ldknode.LogWriter
@@ -336,8 +340,19 @@ val jsonLogger = Json(json) {
336340
prettyPrint = false
337341
}
338342

339-
inline fun <reified T> jsonLogOf(value: T): String = with(jsonLogger) {
340-
encodeToString(serializersModule.serializer(), value)
343+
inline fun <reified T : Any> jsonLogOf(value: T): String {
344+
val jsonElement = jsonLogger.encodeToJsonElement(jsonLogger.serializersModule.serializer<T>(), value)
345+
if (jsonElement !is JsonObject || "type" !in jsonElement) return jsonElement.toString()
346+
347+
return buildJsonObject {
348+
jsonElement.forEach { (key, elem) ->
349+
if (key == "type") {
350+
put("type", value::class.simpleName ?: "Unknown")
351+
} else {
352+
put(key, elem)
353+
}
354+
}
355+
}.toString()
341356
}
342357

343358
fun errLogOf(e: Throwable): String = "[${e::class.simpleName}='${e.message}']"

0 commit comments

Comments
 (0)