Logger class
import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; public class TestLogger { public static void main(String args[]) { try { // 2012-11-08 10:01:32 TestLogger main\nWARNING: Some problem Formatter formatter = new SimpleFormatter(); // 2012-11-08 10:14:42 WARNING: TestLogger.main Some problem // Formatter formatter = new MyFormatter(); // boolean flag specifies append mode Handler handler = new FileHandler("MyLogFile.log", true); handler.setFormatter(formatter); Logger logger = Logger.getLogger("MyLoggerName"); logger.addHandler(handler); // Message with level lower will be discarded logger.setLevel(Level.ALL); // Log a message logger.log(Level.WARNING, "Some problem"); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }Formatter implementation which formats messages
import java.text.DateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** * Class formats a record to: 2012-11-08 10:14:42 WARNING: TestLogger.main * Some problem occurred * */ public class MyFormatter extends Formatter { @Override public String format(LogRecord record) { StringBuffer sb = new StringBuffer(); sb.append(DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(new Date())).append(" ") .append(record.getLevel()).append(": ") .append(record.getSourceClassName()).append(".") .append(record.getSourceMethodName()).append(" ") .append(record.getMessage()).append("\n"); return sb.toString(); } }SimpleDataFormat patterns to format dates (instead of DateFormat.getDateTimeInstance())
import java.text.SimpleDateFormat; import java.util.Date; public class TestSimpleDateFormat { public static void main(String[] args) { // 20121108114353 String pattern1 = "yyyyMMddhhmmss"; // [20121108-114224] String pattern2 = "[yyyyMMdd-hhmmss]"; // 2012-11-08 11:42:32 String pattern3 = "yyyy-MM-dd hh:mm:ss"; // 2012-11-08-11:42:42.949 String pattern4 = "yyyy-MM-dd-hh:mm:ss.S"; SimpleDateFormat df = new SimpleDateFormat(pattern1); // df.applyPattern(pattern); System.out.println(df.format(new Date())); } }
Comments
Post a Comment