Creating a Custom Formatter for a Logger Handler : Log Formatter « Log « Java Tutorial






import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

class MyHtmlFormatter extends Formatter {
  public String format(LogRecord rec) {
    StringBuffer buf = new StringBuffer(1000);
    if (rec.getLevel().intValue() >= Level.WARNING.intValue()) {
      buf.append("<b>");
      buf.append(rec.getLevel());
      buf.append("</b>");
    } else {
      buf.append(rec.getLevel());
    }
    buf.append(' ');
    buf.append(rec.getMillis());
    buf.append(' ');
    buf.append(formatMessage(rec));
    buf.append('\n');
    return buf.toString();
  }

  public String getHead(Handler h) {
    return "<HTML><HEAD>" + (new Date()) + "</HEAD><BODY><PRE>\n";
  }

  public String getTail(Handler h) {
    return "</PRE></BODY></HTML>\n";
  }
}

public class Main {
  public static void main(String[] argv) throws Exception {
    Logger logger = Logger.getLogger("com.mycompany");
    FileHandler fh = new FileHandler("mylog.html");
    fh.setFormatter(new MyHtmlFormatter());
    logger.addHandler(fh);

    logger.setLevel(Level.ALL);
    logger.severe("my severe message");
    logger.info("my info message");
    logger.entering("Main class", "myMethod", new Object[] { "para1", "para2" });
  }
}








35.4.Log Formatter
35.4.1.Set log Formatter
35.4.2.Create custom formatter
35.4.3.Define your own Custom Formatter
35.4.4.Log HTML formatter
35.4.5.Logger with XMLFormatter and FileHandler
35.4.6.XMLFormatter based Logging
35.4.7.Creating a Custom Formatter for a Logger Handler
35.4.8.Setting the Formatter of a Logger Handler