Do not using static finals for PID and format

Update SimpleFormatter so that the PID and format can be different per
formatter instance.
pull/9/head
Phillip Webb 12 years ago
parent 217a6a4cd1
commit 30bf5dcb0d

@ -31,11 +31,11 @@ public class SimpleFormatter extends Formatter {
private static final String DEFAULT_FORMAT = "[%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL] - %8$s %4$s [%7$s] --- %3$s: %5$s%6$s%n"; private static final String DEFAULT_FORMAT = "[%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL] - %8$s %4$s [%7$s] --- %3$s: %5$s%6$s%n";
private static String FORMAT = setOrUseDefault("LOG_FORMAT", DEFAULT_FORMAT); private final String format = getOrUseDefault("LOG_FORMAT", DEFAULT_FORMAT);
private final Date date = new Date(); private final String pid = getOrUseDefault("PID", "????");
private static String PID = setOrUseDefault("PID", "????"); private final Date date = new Date();
@Override @Override
public synchronized String format(LogRecord record) { public synchronized String format(LogRecord record) {
@ -44,8 +44,9 @@ public class SimpleFormatter extends Formatter {
String message = formatMessage(record); String message = formatMessage(record);
String throwable = getThrowable(record); String throwable = getThrowable(record);
String thread = getThreadName(); String thread = getThreadName();
return String.format(FORMAT, this.date, source, record.getLoggerName(), record return String.format(this.format, this.date, source, record.getLoggerName(),
.getLevel().getLocalizedName(), message, throwable, thread, PID); record.getLevel().getLocalizedName(), message, throwable, thread,
this.pid);
} }
private String getThrowable(LogRecord record) { private String getThrowable(LogRecord record) {
@ -65,7 +66,7 @@ public class SimpleFormatter extends Formatter {
return (name == null ? "" : name); return (name == null ? "" : name);
} }
private static String setOrUseDefault(String key, String defaultValue) { private static String getOrUseDefault(String key, String defaultValue) {
String value = null; String value = null;
try { try {
value = System.getenv(key); value = System.getenv(key);

Loading…
Cancel
Save