diff options
author | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2021-03-21 17:48:45 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-21 17:48:45 +0300 |
commit | 729896a88b17723bf5ee699ae586381cf46d0c64 (patch) | |
tree | 1d93cb0fe802b2004eccabefffbd2119235c0240 /app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java | |
parent | 0df58bfd1b8d81943e66e8f077701bbaef7ae236 (diff) |
Make debug-logs accessable
Fix #880 Make debug-logs accessable
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java b/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java index 47a0385e3..838a69265 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java @@ -8,8 +8,18 @@ import java.io.PrintWriter; import java.io.StringWriter; public class DeckLog { + + private static final StringBuffer DEBUG_LOG = new StringBuffer(); + private static boolean PERSIST_LOGS = false; private static final String TAG = DeckLog.class.getSimpleName(); + public static void enablePeristentLogs(boolean persistLogs) { + PERSIST_LOGS = persistLogs; + if (!persistLogs) { + clearDebugLog(); + } + } + public enum Severity { VERBOSE, DEBUG, LOG, INFO, WARN, ERROR } @@ -39,17 +49,15 @@ public class DeckLog { } private static void log(String message, Severity severity, int stackTracePosition) { - final String print; - if (BuildConfig.DEBUG) { - final StackTraceElement caller = Thread.currentThread().getStackTrace()[stackTracePosition]; - print = caller.getMethodName() + "() (" + caller.getFileName() + ":" + caller.getLineNumber() + ") → " + message; - } else { - print = message; + if (!(PERSIST_LOGS || BuildConfig.DEBUG)) { + return; + } + final StackTraceElement caller = Thread.currentThread().getStackTrace()[stackTracePosition]; + final String print = caller.getMethodName() + "() (" + caller.getFileName() + ":" + caller.getLineNumber() + ") → " + message; + if (PERSIST_LOGS) { + DEBUG_LOG.append(print).append("\n"); } switch (severity) { - case VERBOSE: - Log.v(TAG, print); - break; case DEBUG: Log.d(TAG, print); break; @@ -106,4 +114,12 @@ public class DeckLog { } return buff.toString(); } + + public static String getDebugLog() { + return DEBUG_LOG.toString(); + } + + public static void clearDebugLog() { + DEBUG_LOG.setLength(0); + } } |