From d888beb9bfca2da6bba303cd7db809ccefa7b996 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Thu, 18 Feb 2016 14:01:41 -0800 Subject: [PATCH] Frameworks/base: Use Log.printlns in RuntimeInit Make printlns in Log public-@hide so it can be used. Print uncaught exceptions that will terminate the process in RuntimeInit using printlns, so that long exception traces are not being truncated. Bug: 27245306 Change-Id: Ib24635f0ebdd80bd125e367302cab6a78e6a210a --- core/java/android/util/Log.java | 3 ++- core/java/com/android/internal/os/RuntimeInit.java | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/util/Log.java b/core/java/android/util/Log.java index 544444dfd59f1..3d7cb4954e5b6 100644 --- a/core/java/android/util/Log.java +++ b/core/java/android/util/Log.java @@ -377,8 +377,9 @@ public final class Log { * Helper function for long messages. Uses the LineBreakBufferedWriter to break * up long messages and stacktraces along newlines, but tries to write in large * chunks. This is to avoid truncation. + * @hide */ - private static int printlns(int bufID, int priority, String tag, String msg, + public static int printlns(int bufID, int priority, String tag, String msg, Throwable tr) { ImmediateLogWriter logWriter = new ImmediateLogWriter(bufID, priority, tag); // Acceptable buffer size. Get the native buffer size, subtract two zero terminators, diff --git a/core/java/com/android/internal/os/RuntimeInit.java b/core/java/com/android/internal/os/RuntimeInit.java index 3b8b7cb2ba2fe..e2982019d3bf3 100644 --- a/core/java/com/android/internal/os/RuntimeInit.java +++ b/core/java/com/android/internal/os/RuntimeInit.java @@ -57,8 +57,7 @@ public class RuntimeInit { private static final native void nativeSetExitWithoutCleanup(boolean exitWithoutCleanup); private static int Clog_e(String tag, String msg, Throwable tr) { - return Log.println_native(Log.LOG_ID_CRASH, Log.ERROR, tag, - msg + '\n' + Log.getStackTraceString(tr)); + return Log.printlns(Log.LOG_ID_CRASH, Log.ERROR, tag, msg, tr); } /**