多语言展示
当前在线:1001今日阅读:75今日分享:44

Log学习--JUL使用配置文件构建Logger对象

在JUL的基础使用经验中(具体请参考经验引用),我们是在具体的业务类中创建并配置Formatter、Handler、Logger 对象,但如果我们有很多业务类的话,这一系列操作就有点重复了,我们需要把这些操作提取出来(创建我们自己的日志工厂类),并通过配置文件的方式构建我们的Logger对象,这篇经验就告诉你如何进行这些操作 1Log学习--Java原生日志系统JUL的基础使用
工具/原料

Java, Eclipse

方法/步骤
1

创建配置文件 logger.properties (文件名称可以自行定义,后面步骤需要指定名称),图示,是基于 Maven 的工程,配置文件放到 resources 目录下,如果你不是基于 Maven 创建的工程,配置文件放到工程 src 文件夹根目录下即可。

2

编辑配置文件,在配置文件中补充如下配置内容:#设置所有使用的handler,逗号分隔 handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler #日志整体的输出级别 .level= INFO #以下是对所有 handler 进行设置 # 设置handler本身的日记输出级别 java.util.logging.ConsoleHandler.level = INFO#设置handler所使用的formatter java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # 设置handler本身的日记输出级别java.util.logging.FileHandler.level = SEVERE#设置handler所使用的formatterjava.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter #对于FileHandler而言,还需要设置目标文件 java.util.logging.FileHandler.pattern = D:/jul_study.log

3

创建我们自己的日志记录工厂类,其本质就是通过配置文件的形式,对Logger类进行初始化,并且提供一个构建 Logger 对象的静态方法。JUL Logger 在创建对象时,会默认先获取系统属性 java.util.logging.config.file ,如果该属性指定了具体配置文件,则会加载这个文件并进行初始化,我们通过如下静态代码段设置该属性的值:static {         System.setProperty('java.util.logging.config.file',                 MyJULLoggerFactory.class.getClassLoader().getResource('logging.properties').getPath()); }注意:其中的  logging.properties 即第一步中创建的配置文件名称。

4

创建 Logger 对象,并进行测试,通过使用配置文件,我们可以直接创建 JUL Logger 对象,无需再进行手动配置,创建后直接使用即可。

推荐信息