From 43fc20d90e0a694b231b17bb7d9ecfa22bb5d9a0 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Tue, 19 Sep 2023 15:50:44 +0200 Subject: [PATCH] fix: Filter logs correctly BREAKING CHANGE: This changes the log handler signature --- revanced-lib/api/revanced-lib.api | 2 +- .../main/kotlin/app/revanced/lib/logging/Logger.kt | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/revanced-lib/api/revanced-lib.api b/revanced-lib/api/revanced-lib.api index de36951..9f1267d 100644 --- a/revanced-lib/api/revanced-lib.api +++ b/revanced-lib/api/revanced-lib.api @@ -69,7 +69,7 @@ public final class app/revanced/lib/adb/AdbManager$UserAdbManager : app/revanced public final class app/revanced/lib/logging/Logger { public static final field INSTANCE Lapp/revanced/lib/logging/Logger; - public final fun addHandler (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)V + public final fun addHandler (Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)V public final fun removeAllHandlers ()V public final fun setDefault ()V public final fun setFormat (Ljava/lang/String;)V diff --git a/revanced-lib/src/main/kotlin/app/revanced/lib/logging/Logger.kt b/revanced-lib/src/main/kotlin/app/revanced/lib/logging/Logger.kt index af866c3..d67a2b1 100644 --- a/revanced-lib/src/main/kotlin/app/revanced/lib/logging/Logger.kt +++ b/revanced-lib/src/main/kotlin/app/revanced/lib/logging/Logger.kt @@ -38,11 +38,15 @@ object Logger { * @param closeHandler The handler for closing the log. */ fun addHandler( - publishHandler: (log: String, level: Level) -> Unit, + publishHandler: (log: String, level: Level, loggerName: String?) -> Unit, flushHandler: () -> Unit, closeHandler: () -> Unit ) = object : Handler() { - override fun publish(record: LogRecord) = publishHandler(formatter.format(record), record.level) + override fun publish(record: LogRecord) = publishHandler( + formatter.format(record), + record.level, + record.loggerName + ) override fun flush() = flushHandler() @@ -59,7 +63,9 @@ object Logger { setFormat() removeAllHandlers() - val publishHandler = { log: String, level: Level -> + val publishHandler = handler@{ log: String, level: Level, loggerName: String? -> + if (loggerName?.startsWith("app.revanced") != true) return@handler + log.toByteArray().let { if (level.intValue() > Level.INFO.intValue()) System.err.write(it)