package logging;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class LogFormatter extends Formatter {
/*
* (non-Javadoc)
*
* @see java.util.logging.Formatter#format(java.util.logging.LogRecord)
*/
@Override
public String format(LogRecord rec) {
// dont print awt and swing messages
if (rec.getSourceClassName().contains("java.awt") || rec.getSourceClassName().contains("javax.swing.") || rec.getSourceClassName().contains("sun.awt.")
|| rec.getSourceClassName().contains("sun.net."))
return "";
String time = formateTime(rec.getMillis(), "MM-dd-yyyy, kk:mm:ss,SSS");
String type = "DEBUG";
if (rec.getLevel().toString().equalsIgnoreCase("SEVERE"))
type = "ERROR";
else if (rec.getLevel().toString().equalsIgnoreCase("WARNING"))
type = "EXCEPTION";
else if (rec.getLevel().toString().equalsIgnoreCase("INFO"))
type = "INFO";
else if (rec.getLevel().toString().equalsIgnoreCase("CONFIG"))
type = "CONFIG";
return time + " " + type + " " + rec.getLoggerName() + " - " + rec.getMessage() + "\n";
}
/**
* formats the time using the given format string
*
* @param time
* given time
* @param format
* given format string
*
* @return formatted time
*/
private String formateTime(long time, String format) {
SimpleDateFormat f = new SimpleDateFormat(format);
return f.format(new Date(time));
}
}