diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh index ad257b167eeb952f5c521218b4fa1b13f66ac330..3d4001a971de8ca78bf3629f6f829cf42eacd9c4 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 58d08af74a789611ea1dd09aa3031f0af7943290..01fa3298f264b056ceded596d76a18d1d968186c 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 12706ba4c0b6f9af8cc0ce493c1402e3dee526f7..3d4f160d459e06daefb3c41f303ac3d827747312 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"; }