From df10f6162e837cc8b6a50c0f645f79f44b38a1a3 Mon Sep 17 00:00:00 2001 From: Merthan Date: Tue, 14 Jan 2020 20:55:19 +0100 Subject: [PATCH 1/2] Added the HyperlinkedDebugTree class that creates Logs that include hyperlinks to the calling line and class. This way you can just click on the Tag and directly jump to the source. Very useful in big projects. --- timber/src/main/java/timber/log/Timber.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/timber/src/main/java/timber/log/Timber.kt b/timber/src/main/java/timber/log/Timber.kt index 62b6a0759..b6df8823e 100644 --- a/timber/src/main/java/timber/log/Timber.kt +++ b/timber/src/main/java/timber/log/Timber.kt @@ -5,8 +5,7 @@ import android.util.Log import org.jetbrains.annotations.NonNls import java.io.PrintWriter import java.io.StringWriter -import java.util.ArrayList -import java.util.Collections +import java.util.* import java.util.Collections.unmodifiableList import java.util.regex.Pattern @@ -271,6 +270,17 @@ class Timber private constructor() { } } + /** + * A [Tree] for debug builds. + * Automatically shows a Hyperlink to the calling Class and Linenumber in the Logs. + * Allows quick lookup of the caller source just by clicking on the Hyperlink in the Log. + * @param showMethodName Whether or not to show the method name as well + */ + class HyperlinkedDebugTree(private val showMethodName: Boolean = true) : DebugTree() { + override fun createStackElementTag(element: StackTraceElement) = + with(element) { "($fileName:$lineNumber) ${if (showMethodName) " $methodName()" else ""}" } + } + companion object Forest : Tree() { /** Log a verbose message with optional format args. */ @JvmStatic override fun v(@NonNls message: String?, vararg args: Any?) { From 07be67fb95a1e208ed8a540a033f79d9992cf06d Mon Sep 17 00:00:00 2001 From: Merthan Erdem Date: Tue, 28 Jan 2020 17:50:25 +0100 Subject: [PATCH 2/2] Fixed wildcard in imports --- timber/src/main/java/timber/log/Timber.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/timber/src/main/java/timber/log/Timber.kt b/timber/src/main/java/timber/log/Timber.kt index b6df8823e..d6132fdf9 100644 --- a/timber/src/main/java/timber/log/Timber.kt +++ b/timber/src/main/java/timber/log/Timber.kt @@ -5,7 +5,8 @@ import android.util.Log import org.jetbrains.annotations.NonNls import java.io.PrintWriter import java.io.StringWriter -import java.util.* +import java.util.ArrayList +import java.util.Collections import java.util.Collections.unmodifiableList import java.util.regex.Pattern