@Slf4j注解是Lombok库提供的一个注解,用于简化日志记录器的创建。使用该注解后,无需手动创建Logger实例,编译器会自动帮你完成这一步。以下是使用@Slf4j注解打印日志的步骤和示例:
使用步骤
1. 引入依赖:在项目中引入SLF4J和Lombok的依赖。例如在Maven项目中,需要在pom.xml中添加以下依赖:
<!-- SLF4J依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
<!-- Lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
2. 添加注解:在需要打印日志的类上添加@Slf4j注解。
3. 使用日志记录器:在类中直接使用log对象来打印日志。
示例代码
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Example {
public static void main(String[] args) {
log.info("这是一个info级别的日志");
log.debug("这是一个debug级别的日志");
log.error("这是一个error级别的日志");
}
}
日志级别
SLF4J定义了8个日志级别,从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。在使用时,可以根据需要选择合适级别来打印日志。
配置日志输出
如果需要将日志输出到文件或控制台,还需要配置日志框架(如Logback)的相关配置文件。例如在logback.xml中配置:
<configuration>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<!-- 根日志配置 -->
<root level="info">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
通过以上配置,日志将同时输出到控制台和指定的文件中。