java.util.logging.Logger是JDK自带的日志工具类.
输出日志到控制台
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class MyLogger{
private static Logger log = Logger.getLogger(MyLogger.class.getName());
public static void main(String [] args) {
// 移除日志记录器中已有的处理器
for (java.util.logging.Handler handler : log.getHandlers()) {
log.removeHandler(handler);
}
// 创建一个 ConsoleHandler 用于处理日志输出
ConsoleHandler consoleHandler = new ConsoleHandler();
// 设置处理器的日志级别为 ALL,确保可以处理所有级别的日志
consoleHandler.setLevel(Level.ALL);
// 创建一个 SimpleFormatter 用于格式化日志输出
SimpleFormatter formatter = new SimpleFormatter();
// 将格式化器设置给处理器
consoleHandler.setFormatter(formatter);
// 将处理器添加到日志记录器
log.addHandler(consoleHandler);
// 关闭父处理器传播
log.setUseParentHandlers(false);
// 设置日志记录器的日志级别为 ALL
log.setLevel(Level.INFO);
log.finest("finest");
log.finer("finer");
log.fine("fine");
log.config("config");
log.info("info");
log.warning("warning");
log.severe("server");
}
}
输出日志到控制台,且可写入文件
import java.io.IOException;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class MyLogger{
private static Logger log = Logger.getLogger(MyLogger.class.getName());
public static void main(String [] args) {
try {
// 移除日志记录器中已有的处理器
for (java.util.logging.Handler handler : log.getHandlers()) {
log.removeHandler(handler);
}
// 创建一个 ConsoleHandler 用于处理日志输出到控制台
ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setLevel(Level.ALL);
SimpleFormatter consoleFormatter = new SimpleFormatter();
consoleHandler.setFormatter(consoleFormatter);
log.addHandler(consoleHandler);
// 创建一个 FileHandler 用于将日志信息写入文件,并设置为追加模式
FileHandler fileHandler = new FileHandler("myLogger.log",true);
fileHandler.setLevel(Level.ALL);
SimpleFormatter fileFormatter = new SimpleFormatter();
fileHandler.setFormatter(fileFormatter);
log.addHandler(fileHandler);
// 关闭父处理器传播
log.setUseParentHandlers(false);
// 设置日志记录器的日志级别为 ALL
log.setLevel(Level.ALL);
log.finest("finest");
log.finer("finer");
log.fine("fine");
log.config("config");
log.info("info");
log.warning("warning");
log.severe("server");
} catch (IOException e) {
e.printStackTrace();
}
}
}