IT袋

当前位置:主页 > 经验教程 > 建站编程 >

详解Lombok的坑

详解Lombok的坑 Lombok使用中需注意的问题(7)

时间:2024-03-25 20:25:01 来源:IT袋 作者:马勇
导读:详解Lombok的坑,log 相关注解的源码位于这个部分,可以看到很奇怪啊,这些文件是以 SCL.lombok 结尾的,这是什么玩意? 这是 lombok 的小心思,其实这些都是 class 文件,但

详解Lombok的坑

详解Lombok的坑

log 相关注解的源码位于这个部分,可以看到很奇怪啊,这些文件是以 SCL.lombok 结尾的,这是什么玩意?

这是 lombok 的小心思,其实这些都是 class 文件,但是为了避免污染用户项目,它做了特殊处理。

所以你打开这类文件的时候选择以 class 文件的形式打开就行了,就可以看到里面的具体内容。

比如你可以看看这个文件:

lombok.core.handlers.LoggingFramework

详解Lombok的坑

你会发现你们就像是枚举似的,写了很多日志的实现:

详解Lombok的坑

这个里面把每个注解需要生成的 log 都硬编码好了。正是因为这样,Lombok 才知道你用什么日志注解,应该给你生成什么样的 log。

比如 log4j 是这样的:

private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(TargetType.class);

而 SLF4J 是这样的:

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TargetType.class);

第二个需要注意的地方是找到入口:

这些 class 文件加载的入口在于这个地方,是基于 Java 的 SPI 机制:

相关阅读