package com.eas.util.logging; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** * * @author mg */ public class PlatypusFormatter extends Formatter { // format string for printing the log record private static final String FORMAT = "%1$td:%1$tm:%1$tY %1$tH:%1$tM:%1$tS\t%2$s\t%3$s\t%4$s%n"; public PlatypusFormatter() { super(); } /** * {@inheritDoc} */ @Override public String format(LogRecord record) { Date dat = new Date(record.getMillis()); String message = formatMessage(record); String throwable = ""; if (record.getThrown() != null) { StringWriter sw = new StringWriter(); try (PrintWriter pw = new PrintWriter(sw)) { record.getThrown().printStackTrace(pw); } throwable = sw.toString(); } return String.format(FORMAT, dat, record.getLevel().getLocalizedName(), message, throwable); } }