项目中日志记录器的作用

一、概念:日志记录器

比如我们在代码里面通过info对象来记录日志,info在代码里面是一个对象,我们管这个叫【日志记录器】

info.log(xxx)

或者这种:

public static final Logger LOGGER = LoggerFactory.getLogger(xxx.class);
LOGGER.info(.....);
//LOGGER也叫日志记录器对象

二、获取日志记录器

LoggerFactory.getLogger的作用是获取,日志记录器

比如在代码中我们会看到这两种获取方式
private static final Logger log = LoggerFactory.getLogger(DigestLogDTO.class);
public static final Logger LOGGER = LoggerFactory.getLogger("digestLog");

1、第一种是通过类.class,

然后在转成className的方式获取,比如当前类在com.payermax.infra.ionia.log.digest.core.dto下,那就或获取Name=
com.payermax.infra.ionia.log.digest.core.dto.DigestLogDTO的日志记录器

源码中:Logger logger = getLogger(clazz.getName());

2、第二种就直接通过获取

【日志记录器Name】等于 "digestLog"的日志记录器,所以我们在Logback.xml或者log4j2.xml的里面就要配置,这两种日志记录器。

记录器1
<logger name="com.payermax.infra.ionia.log.digest.core.dto.DigestLogDTO" level="warn"/>

记录器2
<logger name="digestLog" level="INFO">
</logger>

三、根日志记录器

<root level="info">
	....
</root>

在Log4j2 中,根日志记录器是整个日志系统的顶级日志记录器,所有未被其他特定日志记录器覆盖的日志事件都会被发送到根日志记录器。

四、日志记录器为包路径时

例如,假设log4j2.xml中配置了以下两个logger:

<logger name="com.example" level="DEBUG"/>
<logger name="com.example.subpackage" level="INFO"/>

如果某个类位于com.example.subpackage包下,log4j2会选择第二个logger配置,因为它更具体,与该类的包名更匹配。
如果没有与类所在的包名完全匹配的logger配置,log4j2将会选择默认的根logger配置。也就是root标签配置的日志。

五、@Slf4j

@Slf4j注解,为什么可以直接使用log对象来记录日志

@Slf4j 是 Lombok 提供的注解之一,它可以在编译时自动生成日志相关的代码,包括私有的 log 成员变量,以及在类中使用该变量记录日志的方法。这样一来,你就可以直接使用 log 对象来记录日志,而无需手动创建Logger对象。
这种方式简化了代码,使得你只需专注于日志的使用,而无需关心日志对象的初始化和管理。 Lombok会在编译时自动处理这些细节。

@Slf4j拿的是哪个日志记录器对象
@Slf4j 注解使用的是Slf4j(Simple Logging Facade for Java)框架。在运行时,它会绑定到你所使用的具体的日志实现,例如 Logback、Log4j2 或者 Java Util Logging。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

信仰_273993243

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

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

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

打赏作者

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

抵扣说明:

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

余额充值