diff --git a/kermit/api/android/kermit.api b/kermit/api/android/kermit.api index c7a73ecf..885911cf 100644 --- a/kermit/api/android/kermit.api +++ b/kermit/api/android/kermit.api @@ -5,51 +5,69 @@ public class co/touchlab/kermit/Logger : co/touchlab/kermit/BaseLogger { public final fun a (Ljava/lang/String;)V public final fun a (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun a (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun a (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun a (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun a (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun a (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun a (Lkotlin/jvm/functions/Function0;)V public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun d (Ljava/lang/String;)V public final fun d (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun d (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun d (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun d (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun d (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun d (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun d (Lkotlin/jvm/functions/Function0;)V public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun e (Ljava/lang/String;)V public final fun e (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun e (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun e (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun e (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun e (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun e (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun e (Lkotlin/jvm/functions/Function0;)V public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public fun getTag ()Ljava/lang/String; public final fun i (Ljava/lang/String;)V public final fun i (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun i (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun i (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun i (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun i (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun i (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun i (Lkotlin/jvm/functions/Function0;)V public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun v (Ljava/lang/String;)V public final fun v (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun v (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun v (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun v (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun v (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun v (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun v (Lkotlin/jvm/functions/Function0;)V public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun w (Ljava/lang/String;)V public final fun w (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun w (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun w (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun w (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun w (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun w (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun w (Lkotlin/jvm/functions/Function0;)V public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun withTag (Ljava/lang/String;)Lco/touchlab/kermit/Logger; } diff --git a/kermit/api/jvm/kermit.api b/kermit/api/jvm/kermit.api index c7a73ecf..885911cf 100644 --- a/kermit/api/jvm/kermit.api +++ b/kermit/api/jvm/kermit.api @@ -5,51 +5,69 @@ public class co/touchlab/kermit/Logger : co/touchlab/kermit/BaseLogger { public final fun a (Ljava/lang/String;)V public final fun a (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun a (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun a (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun a (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun a (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun a (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun a (Lkotlin/jvm/functions/Function0;)V public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun a$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun d (Ljava/lang/String;)V public final fun d (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun d (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun d (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun d (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun d (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun d (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun d (Lkotlin/jvm/functions/Function0;)V public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun d$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun e (Ljava/lang/String;)V public final fun e (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun e (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun e (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun e (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun e (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun e (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun e (Lkotlin/jvm/functions/Function0;)V public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun e$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public fun getTag ()Ljava/lang/String; public final fun i (Ljava/lang/String;)V public final fun i (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun i (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun i (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun i (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun i (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun i (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun i (Lkotlin/jvm/functions/Function0;)V public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun i$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun v (Ljava/lang/String;)V public final fun v (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun v (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun v (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun v (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun v (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun v (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun v (Lkotlin/jvm/functions/Function0;)V public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun v$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun w (Ljava/lang/String;)V public final fun w (Ljava/lang/String;Ljava/lang/Throwable;)V public final fun w (Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V + public final fun w (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public final fun w (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun w (Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V public final fun w (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V public final fun w (Lkotlin/jvm/functions/Function0;)V public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public static synthetic fun w$default (Lco/touchlab/kermit/Logger;Ljava/lang/Throwable;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V public final fun withTag (Ljava/lang/String;)Lco/touchlab/kermit/Logger; } diff --git a/kermit/src/commonMain/kotlin/co/touchlab/kermit/Logger.kt b/kermit/src/commonMain/kotlin/co/touchlab/kermit/Logger.kt index 8fba0fe1..6f559dbf 100644 --- a/kermit/src/commonMain/kotlin/co/touchlab/kermit/Logger.kt +++ b/kermit/src/commonMain/kotlin/co/touchlab/kermit/Logger.kt @@ -41,6 +41,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Verbose, tag, throwable, message) } + /** + * Log a message with [Severity.Verbose]. This is the lowest severity level. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("v(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun v(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Verbose, withTag, throwable, message) + } + /** * Log a message with [Severity.Debug]. This is above 'Verbose'. * @@ -53,6 +72,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Debug, tag, throwable, message) } + /** + * Log a message with [Severity.Debug]. This is above 'Verbose'. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("d(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun d(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Debug, withTag, throwable, message) + } + /** * Log a message with [Severity.Info]. This is above 'Debug'. * @@ -65,6 +103,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Info, tag, throwable, message) } + /** + * Log a message with [Severity.Info]. This is above 'Debug'. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("i(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun i(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Info, withTag, throwable, message) + } + /** * Log a message with [Severity.Warn]. This is above 'Info'. * @@ -77,6 +134,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Warn, tag, throwable, message) } + /** + * Log a message with [Severity.Warn]. This is above 'Info'. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("w(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun w(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Warn, withTag, throwable, message) + } + /** * Log a message with [Severity.Error]. This is above 'Warn'. * @@ -89,6 +165,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Error, tag, throwable, message) } + /** + * Log a message with [Severity.Error]. This is above 'Warn'. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("e(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun e(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Error, withTag, throwable, message) + } + /** * Log a message with [Severity.Assert]. This is the highest severity level. * @@ -101,6 +196,25 @@ open class Logger(config: LoggerConfig, open val tag: String = "") : BaseLogger( logBlock(Severity.Assert, tag, throwable, message) } + /** + * Log a message with [Severity.Assert]. This is the highest severity level. + * + * This overload places [withTag] first, mirroring the former global-logger companion API + * and allowing positional tag-first call sites to compile without changes. + * + * @param withTag Tag to associate with the log message. + * @param throwable Optional throwable to log. + * @param message Lambda returning the message to log. + */ + @Deprecated( + message = "Prefer the throwable-first overload and pass the tag using the named `tag` parameter.", + replaceWith = ReplaceWith("a(throwable = throwable, tag = withTag, message = message)"), + ) + @JvmOverloads + inline fun a(withTag: String, throwable: Throwable? = null, message: () -> String) { + logBlock(Severity.Assert, withTag, throwable, message) + } + /** * Log a message with [Severity.Verbose] using a string message. *