@Slf4j 是 Lombok 库提供的一个注解,用于自动生成一个名为 log 的 Logger 实例。Lombok 是一个 Java 库,旨在通过注解减少样板代码(boilerplate code),使得 Java 代码更加简洁和易读。

主要作用

  1. 简化日志记录
    使用 @Slf4j 注解后,你不需要手动创建 Logger 实例,Lombok 会自动为你生成一个 Logger,你可以直接使用它来记录日志。
  2. 减少样板代码
    通过使用 @Slf4j,你可以避免在每个类中重复编写 Logger 的初始化代码,从而减少样板代码,提高代码的可读性。

使用示例

首先,确保你的项目中已经添加了 Lombok 依赖。对于 Maven 项目,可以在 pom.xml 中添加:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version> <!-- 请使用最新版本 -->
    <scope>provided</scope>
</dependency>

然后,在你的 Java 类中使用 @Slf4j 注解:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyService {
    public void doSomething() {
        log.info("Doing something...");
        // 其他逻辑
    }
}

生成的代码

使用 @Slf4j 注解后,Lombok 会在编译时为你生成以下代码:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyService {
    private static final Logger log = LoggerFactory.getLogger(MyService.class);

    public void doSomething() {
        log.info("Doing something...");
        // 其他逻辑
    }
}

注意事项

  • 依赖:确保在项目中正确配置了 Lombok 依赖,并在 IDE 中安装了 Lombok 插件,以便支持注解处理。
  • 日志框架@Slf4j 使用 SLF4J(Simple Logging Facade for Java)作为日志抽象层,因此你需要在项目中添加相应的日志实现(如 Logback、Log4j 等)。

通过使用 @Slf4j,你可以轻松地在 Java 应用中实现日志记录,减少代码的复杂性。