文章摘要: Java 8 中的java.util.logging,提供 JavaTM 2 平台的核心日志记录工具的类和接口。
记录器对象
创建记录器对象
Logger <记录器> = Logger.getLogger("<被记录对象>");
// “被记录对象”是一个 “文件中的类对象” 被实例化后的对象,记录其运行过程。
// 一般记录当前 “文件中的类对象” 。
// 字符串类型的类名
添加处理器对象
<记录器>.addHandler(<处理器>);
修改日志级别
<记录器>.setLevel(Level.<日志级别>);
// 日志级别:OFF(关闭全部) > SEVERE(错误) > WARNING(警告) > INFO(信息) > CONFIG(配置) > FINE(调试) > FINER(调试) > FINEST(调试) > ALL(开启全部)
处理器对象
创建处理器对象
// 输出到 控制台
ConsoleHandler <处理器> = new ConsoleHandler();
// 输出到 文件
FileHandler <处理器> = new FileHandler("<文件具体路径和名称>");
添加格式器对象
// 将 格式器 添加到 处理器 中
<处理器>.setFormatter(<格式器>);
修改日志级别
<处理器>.setLevel(Level.<日志级别>);
// 日志级别:OFF(关闭全部) > SEVERE(错误) > WARNING(警告) > INFO(信息) > CONFIG(配置) > FINE(调试) > FINER(调试) > FINEST(调试) > ALL(开启全部)
格式器对象
创建格式器对象
//
SimpleFormatter <格式器> = new SimpleFormatter();
管理器对象
创建管理器对象
// 创建管理器对象
LogManager logManager = LogManager.getLogManager();
日志内容对象
// 方案一
logger.<日志级别>(<记录的内容>);
// 方案二
logger.log(Level.<日志级别>, <记录的内容>);
// 日志级别:OFF(关闭全部) > SEVERE(错误) > WARNING(警告) > INFO(信息) > CONFIG(配置) > FINE(调试) > FINER(调试) > FINEST(调试) > ALL(开启全部)
// 方案三,实现字符串拼接,引入变量
logger.log(Level.<日志级别>, <记录的内容{0},{1}>, new Object[]{<变量名>, <变量名>});
案例
自定义日志配置-硬编码
// 创建 记录器 对象
Logger logger = Logger.getLogger("<被记录对象>");
// 关闭默认日志配置
logger.setUseParentHandlers(false);
// 创建 处理器 对象
ConsoleHandler consoleHandler = new ConsoleHandler();
// 创建 格式器 对象
SimpleFormatter simpleFormatter = new SimpleFormatter();
// 将 格式器 添加到 处理器 中
cosoleHandler.setFormatter(simpleFormatter);
// 将 处理器 添加到 记录器 中
logger.addHandler(cosoleHandler);
// 设置配置日志级别
logger.setLevel(Level.ALL);
consoleHandler.setLevel(Level.ALL);
// 日志级别:OFF(关闭全部) > SEVERE(错误) > WARNING(警告) > INFO(信息) > CONFIG(配置) > FINE(调试) > FINER(调试) > FINEST(调试) > ALL(开启全部)
// 开始执行日志信息
logger.log(Level.INFO, “信息级别的日志信息”);
自定义日志配置-配置文件
- 类似将“格式器对象”写在配置文件中,而无需直接写在代码中。
// 读取配置文件,通过类加载器
InputSttream <配置文件对象> = <当前类名>.class.getClassLoader().getResourceAsStream("<配置文件所在位置和名称>");
// 创建 管理器 对象
LogManager logManager = LogManager.getLogManager();
// 通过 管理器 加载配置文件
logManager.readConfiguration(<配置文件对象>);