Apache Log4j 2 _ 3. Log4j2 日志等级 & 配置文件

一、日志等级

上一个博客我们有提到了这个日志等级,这个日志等级就是日志的输出级别,有普通日志,有异常日志,有错误日志,等等。

Log4j 2 给我们提供了好多种内置的日志等级,来看一下。

官网:http://logging.apache.org/log4j/2.x/manual/customloglevels.html

最高的是 ALL,最低的是 OFF。然后我们打开我们的配置文件,我们来看看我们配置的日志等级是什么。

可以看到哈,是 all。也就是所有的日志全部都输出,这里我们修改一下,我们改成 debug,我们再来看看日志的输出情况。

可以看到哈,唯独这个 trace 没有输出,原因其实很简单,因为我们配置的是 debug,Log4j 不会输出 intLevel 大于我们配置的 debug 的日志信息。

也就是说,我们配置成 debug,那么只会输出 intLevel 小于等于 debug 的日志信息。

二、配置文件

我们从我们的配置文件开始说。

<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="debug">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

Configuration

这个没有啥好说的,只是为了证明这个是一个配置文件。

但是我们可以看到,这个标签中有一个 status 的值,值为 WARN。这个值是控制 Log4j 本身的日志等级的。我们将这个值设置为 ALL,然后运行一下。

可以看到哈,Log4j 本身也是有日志的,而这个 status 是控制它本身的,一般我们就弄成 WARN 就好了。

Appenders

这个是用来管理我们的输出的。我们配置文件中只配置了一个 Console,那么我们日志就会输出到我们 Eclipse 的 Console 窗口。

当然哈,Log4j 给我们提供了很多的 Appenders 模式。官网链接:http://logging.apache.org/log4j/2.x/manual/appenders.html

这个我们后期会找几个我们常用的 Appenders 去说,你要是有兴趣可以自己进行研究。

PatternLayout

这个东西是在每一个 Appender 中的一个子标签,这个标签是告诉 Log4j 我们输出日志的样子。

我们输出的样子是:时分秒毫秒 当前线程是什么 日志级别 日志名称 - 日志文本 换行

当然哈,这个配置我们不可能自己瞎写,来看看官网是怎么解释的。

http://logging.apache.org/log4j/2.x/manual/layouts.html

可以自己看看,这玩意还能配置颜色。

Loggers

日志器,这个日志器有两种,我们现在只看了其中一种:Root。还有一种是自定义日志器:Logger。

这个 Root 日志器是根日志器,也是一个默认日志器。

我们在进行日志输出的时候,可以指定用那个日志器进行输出,默认是使用 Root 进行输出,如果连 Root 也没有,就会报错,但是也可以输出。来看一下。

我们可以给每一个日志器配置它自己的日志输出等级,也可以配置名称(这个名称方便我们在程序中指定日志器时用)。

Logger

看清楚哈,这个和上面的内个不一样啊,别搞错了。这个没有 s !!!

这个配置是自定义日志器,我们来自己配置一个看一下。

然后我们在程序中调用一下。

可以看到哈,我们是走的自己定义的日志器,并没有走 Root。

还有一个注意的是,我们这里多加了一个属性:additivity="false",我们这次把 false 改成 true再来看看。

可以看到哈,有两份日志输出。

这里解释一下:additivity 指定是否同时输出 log 到父类的 appender。我们一般都弄成 false,就不让 Root 那边的日志器再输出一次了。

AppenderRef

这个标签是指引用的那个 Appender,我们这里使用的是 Console。

这个标签可以写多个,我们后面也会说的。

Properties

这个标签我们也是以后常用的,主要是用来定义一些通用的常量的。

我这从官网上找的一个例子~~

 

这一篇就说到这里,大部分都是概念,希望大家好好看一下。

有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人自愿网站:https://www.lemon1234.com

最近网站在改造中,欢迎各位提出意见。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他 他 = new 他()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值