小编今天要来分享的是Java的日志输出,我们在编写程序的时候通常希望程序可以记录下每一个操作,每一次异常,这样有利于将来对程序的维护工作,日志的记录还是要从点滴开始做起。
由于日志直接输出会是一个非常乱的格式,因此我们需要自己定义日志输出的格式,这样查看起来会方便一些。
public class MyFormatter extends Formatter{
@Override
public String format(LogRecord record) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
return df.format(Calendar.getInstance().getTime()) + " >---> " + record.getLoggerName() + " >---> " + record.getLevel() + ":::" + record.getMessage() + "\n" ;
}
}
在某一个类中定义输出日志文件,并将格式设定为自己的格式。
FileHandler fileHandler = new FileHandler("D://hitics/lab4SC/logger.log");
fileHandler.setFormatter(new MyFormatter());
Logger logger = Logger.getLogger("logger.log");
logger.addHandler(fileHandler);
在需要记录日志的地方,直接记录即可
先定义一条日志,再将这条日志加入到日志文件中
LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");
logger.log(lr);
日志有两个参数,第一个是日志地级别,第二个是日志地内容。
然而日志的记录默认是在程序运行时在控制台输出的,因此要想在控制台不输出,需要在每一个记录日志的类中设定控制台输出为false
logger.setUseParentHandlers(false);
这样运行程序就会记录下日志的内容了