java - 在 SpringBoot 应用程序中使用 Java 的简单日志记录外观

标签 java spring spring-boot slf4j slf4j-api

我想使用@Slf4j注释,所以我在我的pom.xml文件中导入了这个依赖项

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.29</version>
        </dependency>

但我遇到错误无法解析符号Slf4j

@Service
@Slf4j
@Transactional(readOnly = true)
public class PasswordResetTokenService {
..
}

最佳答案

注释 @Slf4j 是一个 Lombok 注释,不存在于 slf4j 依赖项中。

如果您想使用此注释而不是声明记录器字段,则需要向 Lombok 添加额外的依赖项:

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
    <scope>provided</scope>
</dependency>

对于 Spring Boot,父 POM 可能已经指定了版本。那么你就不需要再声明具体的版本了。

参见:

https://projectlombok.org/features/log

https://projectlombok.org/api/lombok/extern/slf4j/Slf4j.html

关于java - 在 SpringBoot 应用程序中使用 Java 的简单日志记录外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58890332/

相关文章:

java - Spring security 重叠 URL 范围

java - 根据使用 spring-boot @Scheduled 注释的条件动态修改调度程序时间

java - @Autowire 调用期间未实例化服务类

java - 如何在拦截器中获取RequestHeader默认值

java - 编译日期和时间

java - 签名的java小程序有限制吗?

java - 如何加载和更新实体以增加 Hibernate @Version 属性?

java - 使用带随机枢轴的快速选择的第 K 个最小元素

java - 如何在c3p0数据源中使用mysql自定义端口?

java - SpringBoot-@RequestMapping(名称= "/home")-@RequestMapping(值= "/home")