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 messagesimport 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