diff --git a/app/src/main/java/com/tangem/tap/common/log/TangemLogCollector.kt b/app/src/main/java/com/tangem/tap/common/log/TangemLogCollector.kt index c1ae08ebc2..54a56e17c3 100644 --- a/app/src/main/java/com/tangem/tap/common/log/TangemLogCollector.kt +++ b/app/src/main/java/com/tangem/tap/common/log/TangemLogCollector.kt @@ -1,25 +1,31 @@ package com.tangem.tap.common.log import com.tangem.Log +import com.tangem.LogFormat import com.tangem.TangemSdkLogger import java.text.SimpleDateFormat -import java.util.Date +import java.util.* + +class TangemLogCollector( + private val levels: List, + private val messageFormatter: LogFormat, +) : TangemSdkLogger { -class TangemLogCollector : TangemSdkLogger { private val dateFormatter = SimpleDateFormat("HH:mm:ss.SSS") private val logs = mutableListOf() private val mutex = Object() override fun log(message: () -> String, level: Log.Level) { - val time = dateFormatter.format(Date()) + if (!levels.contains(level)) return + synchronized(mutex) { - logs.add("$time: ${message()}\n") + val formattedMessage = messageFormatter.format(message, level) + val logMessage = "${dateFormatter.format(Date())}: $formattedMessage" + logs.add("$logMessage\n") } } fun getLogs(): List = synchronized(mutex) { logs.toList() } - fun clearLogs() { - synchronized(mutex) { logs.clear() } - } + fun clearLogs() = synchronized(mutex) { logs.clear() } } \ No newline at end of file