除了 Lombok 依赖项之外,为什么还需要添加 Slf4j 依赖项才能使日志记录正常工作?
为什么我必须添加这 2 个依赖项才能让我的 Lombok @Slf4j
日志记录正常工作?我正在定义一个 log4j.properties
文件,在其中启用对某些第 3 方包的调试。如果我不添加这 2 个 slf4j 依赖项,则日志记录将不起作用。这不应该仅适用于 Lombok 依赖项吗?
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.36</version>
</dependency>
这是我的龙目岛依赖项:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
Why am I having to add these 2 dependencies in order for my Lombok @Slf4j
logging to work? I am defining a log4j.properties
file, where I enable debug on some 3rd party packages. If I don't add these 2 slf4j dependencies, the logging doesn't work. Shouldn't this work with just the Lombok dependency only?
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.36</version>
</dependency>
Here is my lombok dependency:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据Lombok doc,Lombok注释
@Slf4j
创建因此它需要slf4j依赖。并且由于 slf4j 只是 log4j、log4j2 和 logback 等各种实际日志库的抽象,因此需要桥依赖
slf4j-log4j12
。使用 slf4j 抽象可以方便地切换到另一个日志库。
如果您只想坚持使用
log4j2
日志库,您只需添加 log4j2 依赖项 使用@Log4j2
创建According to Lombok doc, Lombok annotation
@Slf4j
createsTherefore it need slf4j dependencies. And because slf4j is just an abstraction of various actual logging library such as log4j, log4j2 and logback, bridge dependencies
slf4j-log4j12
is required.Using slf4j abstraction is convenient for switching to another logging library.
If you just want to stick to
log4j2
logging library, you can just add log4j2 dependencies use@Log4j2
which creates