From 46664544821f2a1bf0de1e45652d259a0e9c9aaa Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Tue, 11 Sep 2012 19:50:59 +0000 Subject: [PATCH] improve dup log message --- apps/routerconsole/java/bundle-messages.sh | 1 + .../src/net/i2p/util/LogRecordFormatter.java | 2 +- core/java/src/net/i2p/util/LogWriter.java | 32 +++++++++++++------ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh index ad257b167e..3d4001a971 100755 --- a/apps/routerconsole/java/bundle-messages.sh +++ b/apps/routerconsole/java/bundle-messages.sh @@ -44,6 +44,7 @@ fi # list specific files in core/ and router/ here, so we don't scan the whole tree ROUTERFILES="\ ../../../core/java/src/net/i2p/data/DataHelper.java \ + ../../../core/java/src/net/i2p/util/LogWriter.java \ ../../../router/java/src/net/i2p/router/tasks/CoalesceStatsEvent.java \ ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java \ ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java \ diff --git a/core/java/src/net/i2p/util/LogRecordFormatter.java b/core/java/src/net/i2p/util/LogRecordFormatter.java index 58d08af74a..01fa3298f2 100644 --- a/core/java/src/net/i2p/util/LogRecordFormatter.java +++ b/core/java/src/net/i2p/util/LogRecordFormatter.java @@ -87,7 +87,7 @@ class LogRecordFormatter { return toString(logRecord.getThreadName(), MAX_THREAD_LENGTH); } - private static String getWhen(LogManager manager, LogRecord logRecord) { + public static String getWhen(LogManager manager, LogRecord logRecord) { return manager.getDateFormat().format(new Date(logRecord.getDate())); } diff --git a/core/java/src/net/i2p/util/LogWriter.java b/core/java/src/net/i2p/util/LogWriter.java index 12706ba4c0..3d4f160d45 100644 --- a/core/java/src/net/i2p/util/LogWriter.java +++ b/core/java/src/net/i2p/util/LogWriter.java @@ -81,20 +81,15 @@ class LogWriter implements Runnable { dupCount++; } else { if (dupCount > 0) { - if (dupCount == 1) - writeRecord("*** 1 similar message omitted\n"); - else - writeRecord("*** " + dupCount + " similar messages omitted\n"); + writeRecord(dupMessage(dupCount, last)); dupCount = 0; } - last = rec; writeRecord(rec); } + last = rec; } - if (dupCount == 1) - writeRecord("*** 1 similar message omitted\n"); - else if (dupCount > 0) - writeRecord("*** " + dupCount + " similar messages omitted\n"); + if (dupCount > 0) + writeRecord(dupMessage(dupCount, last)); try { if (_currentOut != null) _currentOut.flush(); @@ -116,7 +111,26 @@ class LogWriter implements Runnable { } } } + + /** + * Write a msg with the date stamp of the last duplicate + * @since 0.9.3 + */ + private String dupMessage(int dupCount, LogRecord lastRecord) { + return LogRecordFormatter.getWhen(_manager, lastRecord) + " ^^^ " + + _(dupCount, "1 similar message omitted", "{0} similar messages omitted") + " ^^^\n"; + } + private static final String BUNDLE_NAME = "net.i2p.router.web.messages"; + + /** + * gettext + * @since 0.9.3 + */ + private String _(int a, String b, String c) { + return Translate.getString(a, b, c, _manager.getContext(), BUNDLE_NAME); + } + public String currentFile() { return _currentFile != null ? _currentFile.getAbsolutePath() : "uninitialized"; } -- GitLab