/** * <p>Copyright: Copyright (c) 2009</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.core.logging; import java.io.PrintWriter; import java.io.StringWriter; import java.text.MessageFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** * �򻯵���־Formatter * @author sundl */ public class ARESLoggingFormatter extends Formatter { private static final String FORMAT = "{1,time} [{2}] {3}"; private Date date = new Date(); /* (non-Javadoc) * @see java.util.logging.Formatter#format(java.util.logging.LogRecord) */ @Override public String format(LogRecord record) { StringBuffer sb = new StringBuffer(); String sequence = String.valueOf(record.getSequenceNumber()); date.setTime(record.getMillis()); String level = record.getLevel().getName(); sb.append(MessageFormat.format(FORMAT, sequence, date, level, record.getMessage())); sb.append("\n"); if (record.getThrown() != null) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); Throwable t = record.getThrown(); t.printStackTrace(pw); sb.append(sw.toString()); } return sb.toString(); } }