improve dup log message

This commit is contained in:
zzz
2012-09-11 19:50:59 +00:00
parent db42d9ec37
commit 4666454482
3 changed files with 25 additions and 10 deletions

View File

@ -44,6 +44,7 @@ fi
# list specific files in core/ and router/ here, so we don't scan the whole tree # list specific files in core/ and router/ here, so we don't scan the whole tree
ROUTERFILES="\ ROUTERFILES="\
../../../core/java/src/net/i2p/data/DataHelper.java \ ../../../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/tasks/CoalesceStatsEvent.java \
../../../router/java/src/net/i2p/router/RouterThrottleImpl.java \ ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java \
../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java \ ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java \

View File

@ -87,7 +87,7 @@ class LogRecordFormatter {
return toString(logRecord.getThreadName(), MAX_THREAD_LENGTH); 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())); return manager.getDateFormat().format(new Date(logRecord.getDate()));
} }

View File

@ -81,20 +81,15 @@ class LogWriter implements Runnable {
dupCount++; dupCount++;
} else { } else {
if (dupCount > 0) { if (dupCount > 0) {
if (dupCount == 1) writeRecord(dupMessage(dupCount, last));
writeRecord("*** 1 similar message omitted\n");
else
writeRecord("*** " + dupCount + " similar messages omitted\n");
dupCount = 0; dupCount = 0;
} }
last = rec;
writeRecord(rec); writeRecord(rec);
} }
last = rec;
} }
if (dupCount == 1) if (dupCount > 0)
writeRecord("*** 1 similar message omitted\n"); writeRecord(dupMessage(dupCount, last));
else if (dupCount > 0)
writeRecord("*** " + dupCount + " similar messages omitted\n");
try { try {
if (_currentOut != null) if (_currentOut != null)
_currentOut.flush(); _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() { public String currentFile() {
return _currentFile != null ? _currentFile.getAbsolutePath() : "uninitialized"; return _currentFile != null ? _currentFile.getAbsolutePath() : "uninitialized";
} }