在一些场合无需引入log4j等第三方日志库,例如编写FileNet component时可能只需要简单的日志记录,同时又不能使用配置文件,则直接利用JDK提供的Logger即可。使用它首先根据自己的需要编写一个输出信息格式化类,在使用Logger时先设置log记录位置,设置log文件增长命名方式,设置logger处理级别,设置格式化类等等即可进行使用,具体方式如下代码所示。
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
public class LoggerTest {
private static final Logger logger = Logger.getLogger(LoggerTest.class.toString());
public static void main(String[] args) {
//设置logger信息
FileHandler fileHandler;
try {
fileHandler = new FileHandler("c:/dataMigration%g.log", 256000,1000000, true);
fileHandler.setLevel(Level.ALL);
fileHandler.setFormatter(new MyLogHander());
logger.addHandler(fileHandler);
logger.setLevel(Level.ALL);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
logger.info("test logger info");
}
}
class MyLogHander extends Formatter {
@Override
public String format(LogRecord record) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
return sdf.format(date) + " " + record.getLevel() + ": " + record.getMessage() + "\r\n";
}
}