summaryrefslogtreecommitdiff
path: root/core/java/android/util/LocalLog.java
diff options
context:
space:
mode:
authorNeil Fuller <nfuller@google.com>2019-12-10 01:54:49 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-12-10 01:54:49 -0800
commit7daba13fc0875e2b40b85f08d416e051a3ba191f (patch)
treecab422803fd270470d5255420542b76621d18044 /core/java/android/util/LocalLog.java
parent745fe374e1582722433ae64d028b532a6804ec7c (diff)
parent746d69afa5be6745d4dbf40461d930739646653d (diff)
Merge "Extend LocalLog to enable UTC timestamps" am: 9436134056 am: c74594a2e3
am: 746d69afa5 Change-Id: I167f79a33218c5b6593c165f9185663f965dcdcd
Diffstat (limited to 'core/java/android/util/LocalLog.java')
-rw-r--r--core/java/android/util/LocalLog.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/core/java/android/util/LocalLog.java b/core/java/android/util/LocalLog.java
index 3a1df3ec861e..6a6bccf7052a 100644
--- a/core/java/android/util/LocalLog.java
+++ b/core/java/android/util/LocalLog.java
@@ -17,9 +17,11 @@
package android.util;
import android.annotation.UnsupportedAppUsage;
+import android.os.SystemClock;
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.time.Instant;
import java.time.LocalDateTime;
import java.util.ArrayDeque;
import java.util.Deque;
@@ -33,10 +35,22 @@ public final class LocalLog {
private final Deque<String> mLog;
private final int mMaxLines;
+ /**
+ * {@code true} to use log timestamps expressed in local date/time, {@code false} to use log
+ * timestamped expressed with the elapsed realtime clock and UTC system clock. {@code false} is
+ * useful when logging behavior that modifies device time zone or system clock.
+ */
+ private final boolean mUseLocalTimestamps;
+
@UnsupportedAppUsage
public LocalLog(int maxLines) {
+ this(maxLines, true /* useLocalTimestamps */);
+ }
+
+ public LocalLog(int maxLines, boolean useLocalTimestamps) {
mMaxLines = Math.max(0, maxLines);
mLog = new ArrayDeque<>(mMaxLines);
+ mUseLocalTimestamps = useLocalTimestamps;
}
@UnsupportedAppUsage
@@ -44,7 +58,14 @@ public final class LocalLog {
if (mMaxLines <= 0) {
return;
}
- append(String.format("%s - %s", LocalDateTime.now(), msg));
+ final String logLine;
+ if (mUseLocalTimestamps) {
+ logLine = String.format("%s - %s", LocalDateTime.now(), msg);
+ } else {
+ logLine = String.format(
+ "%s / %s - %s", SystemClock.elapsedRealtime(), Instant.now(), msg);
+ }
+ append(logLine);
}
private synchronized void append(String logLine) {