JUL日志系统

JUL日志系统

我们为什么需要日志系统?

我们之前一直都在使用System.out.println来打印信息,但是,如果项目中存在大量的控制台输出语句,会显得很凌乱,而且日志的粒度是不够细的,假如我们现在希望,项目只在debug的情况下打印某些日志,而在实际运行时不打印日志,采用直接输出的方式就很难实现了,因此我们需要使用日志框架来规范化日志输出。

而JDK为我们提供了一个自带的日志框架,位于java.util.logging包下,我们可以使用此框架来实现日志的规范化打印,使用起来非常简单:

public class JUL{
    public static void main(String[] args) {
      	// 首先获取日志打印器
        Logger logger= Logger.getLogger(JUL.class.getName());//这里是类名
      	// 调用info来输出一个普通的信息,直接填写字符串即可
        logger.info("我是普通的日志");
    }
}

我们可以在主类中使用日志打印,得到日志的打印结果:

JUL日志系统_第1张图片

JUL日志讲解

日志分为7个级别,详细信息我们可以在Level类中查看:

  • SEVERE(最高值)- 一般用于代表严重错误
  • WARNING - 一般用于表示某些警告,但是不足以判断为错误
  • INFO (默认级别) - 常规消息
  • CONFIG
  • FINE
  • FINER
  • FINEST(最低值)

我们之前通过info方法直接输出的结果就是使用的默认级别的日志,我们可以通过log方法来设定该条日志的输出级别:

public class JUL {
    public static void main(String[] args) {
        Logger logger= Logger.getLogger(JUL.class.getName());//这里是类名
        logger.log(Level.SEVERE,"出现严重错误");
        logger.log(Level.WARNING,"警告内容");
        logger.log(Level.INFO,"普通日志信息");
        logger.info("普通日志信息");//和logger.log(Level.INFO,"普通日志信息");功能一样
        logger.log(Level.CONFIG,"级别低于普通日志信息");//等级低于普通日志,不会输出在控制台。

    }
}

JUL日志系统_第2张图片

我们发现,级别低于默认级别的日志信息,无法输出到控制台

你可能感兴趣的:(Java,JUL,日志系统,java,JUL)