JUL全称Java util Logging是java原生的日志框架,JDK自带 , 使用时不需要另外引用第三方类库 Tomcat目前使用的也是jul日志框架 ,Tomcat运行依赖JDK的支持,也是使用JDK的jul日志框架 日志打印等级配置在jdk的jre中image.png
handlers= java.util.logging.ConsoleHandler
handlers表示的是当前的处理器 由上可以看出我们的是交给了控制台Console来输出
.level= INFO
表示的是设定当前整体的全局日志级别 它只会在INFO和以上级别显示消息。
java.util.logging.ConsoleHandler.level = INFO //定义了自己的级别
如果用户没有设置 默认用全局的 如果用户设置了则用用户的
设置的级别 只会打印本级别当前的日志级别 以及比它更严重的级别
例如:设置INFO 则会打印INFO,WARNING,SEVERE级别
这种修改方式只需要了解一下 这里是更改JDK的配置文件的值
毕竟不可以去更改系统的配置 如果JDK配置文件的值一但被改变
则使用JDK的都会被改变

那我们怎么使用代码的方式去进行配置?

  1. public void testLogConfig() throws Exception {
  2. // 1.创建日志记录器对象
  3. Logger logger = Logger.getLogger("com.itszt.log.JULTest");
  4. // 一、自定义日志级别
  5. // a.关闭系统默认配置 如果不关闭的话会继承JDK中的配置
  6. //关闭则按我们的配置
  7. logger.setUseParentHandlers(false);
  8. // b.创建handler对象 consoleHandler是往控制台打印
  9. ConsoleHandler consoleHandler = new ConsoleHandler();
  10. // c.创建formatter对象 simpleFormatter有一个默认的输出格式
  11. //通过simpleFormatter即可设置我们自定义的格式
  12. SimpleFormatter simpleFormatter = new SimpleFormatter();
  13. // d.进行关联 设置控制台输出的格式
  14. consoleHandler.setFormatter(simpleFormatter);
  15. //将consoleHandler添加到logger记录器中 输出时会输出在控制台上
  16. logger.addHandler(consoleHandler);
  17. // e.设置logger记录器的日志级别
  18. logger.setLevel(Level.ALL); //设置全局级别
  19. consoleHandler.setLevel(Level.ALL); //设置handler打印级别
  20. // 二、输出到日志文件
  21. //会将日志输出到输入的path 要先创建打印的目录
  22. //输出到logdemo.log文件中
  23. //FileHandler关联文件
  24. FileHandler fileHandler = new FileHandler("logs\\logdemo.log");
  25. //FileHandler关联文件设置输出格式simpleFormatter
  26. fileHandler.setFormatter(simpleFormatter);
  27. //再将fileHandler添加到logger记录器当中 输出转到文件当中去
  28. logger.addHandler(fileHandler);
  29. // 2.日志记录输出
  30. //输出会在控制台打印也会在输出到文件中
  31. logger.severe("severe");
  32. logger.warning("warning");
  33. logger.info("info");
  34. logger.config("config");
  35. logger.fine("fine");
  36. logger.finer("finer");
  37. logger.finest("finest");
  38. }

再次查看结果:image.png
文件中也输出了正确的结果:FileSharing.jpg