diff options
| author | Neil Fuller <nfuller@google.com> | 2019-12-10 01:50:39 -0800 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2019-12-10 01:50:39 -0800 |
| commit | 746d69afa5be6745d4dbf40461d930739646653d (patch) | |
| tree | ad5f443e5c9ea8b07d1449f35b337b9ebb5c3358 /core/java/android | |
| parent | 0e4e057e6be3e5709c944fef567647b33908d42e (diff) | |
| parent | c74594a2e34a411c142ab11e51cf78f8a859d551 (diff) | |
Merge "Extend LocalLog to enable UTC timestamps" am: 9436134056
am: c74594a2e3
Change-Id: I417bf9581e3fbce9921e7893c1e63e6dd9a7b30b
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/util/LocalLog.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/core/java/android/util/LocalLog.java b/core/java/android/util/LocalLog.java index 8b5659b3fa31..0203430134c4 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) { |
