JUL全称Java util Logging是java原生的日志框架,JDK自带 , 使用时不需要另外引用第三方类库 Tomcat目前使用的也是jul日志框架 ,Tomcat运行依赖JDK的支持,也是使用JDK的jul日志框架 日志打印等级配置在jdk的jre中
handlers= java.util.logging.ConsoleHandler
handlers表示的是当前的处理器 由上可以看出我们的是交给了控制台Console来输出
.level= INFO
表示的是设定当前整体的全局日志级别 它只会在INFO和以上级别显示消息。
java.util.logging.ConsoleHandler.level = INFO //定义了自己的级别
如果用户没有设置 默认用全局的 如果用户设置了则用用户的
设置的级别 只会打印本级别当前的日志级别 以及比它更严重的级别
例如:设置INFO 则会打印INFO,WARNING,SEVERE级别
这种修改方式只需要了解一下 这里是更改JDK的配置文件的值
毕竟不可以去更改系统的配置 如果JDK配置文件的值一但被改变
则使用JDK的都会被改变
那我们怎么使用代码的方式去进行配置?
public void testLogConfig() throws Exception {// 1.创建日志记录器对象Logger logger = Logger.getLogger("com.itszt.log.JULTest");// 一、自定义日志级别// a.关闭系统默认配置 如果不关闭的话会继承JDK中的配置//关闭则按我们的配置logger.setUseParentHandlers(false);// b.创建handler对象 consoleHandler是往控制台打印ConsoleHandler consoleHandler = new ConsoleHandler();// c.创建formatter对象 simpleFormatter有一个默认的输出格式//通过simpleFormatter即可设置我们自定义的格式SimpleFormatter simpleFormatter = new SimpleFormatter();// d.进行关联 设置控制台输出的格式consoleHandler.setFormatter(simpleFormatter);//将consoleHandler添加到logger记录器中 输出时会输出在控制台上logger.addHandler(consoleHandler);// e.设置logger记录器的日志级别logger.setLevel(Level.ALL); //设置全局级别consoleHandler.setLevel(Level.ALL); //设置handler打印级别// 二、输出到日志文件//会将日志输出到输入的path 要先创建打印的目录//输出到logdemo.log文件中//FileHandler关联文件FileHandler fileHandler = new FileHandler("logs\\logdemo.log");//FileHandler关联文件设置输出格式simpleFormatterfileHandler.setFormatter(simpleFormatter);//再将fileHandler添加到logger记录器当中 输出转到文件当中去logger.addHandler(fileHandler);// 2.日志记录输出//输出会在控制台打印也会在输出到文件中logger.severe("severe");logger.warning("warning");logger.info("info");logger.config("config");logger.fine("fine");logger.finer("finer");logger.finest("finest");}
再次查看结果:
文件中也输出了正确的结果:
