当前位置: 首页 > news >正文

@Slf4j注解

@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>

通过以上配置,日志将同时输出到控制台和指定的文件中。

http://www.dtcms.com/a/99198.html

相关文章:

  • python的内存管理
  • Knife4j 接口文档使用流程分析
  • 7.3 主成分分析(PCA)
  • Python切片中的步长秘密
  • Python 序列构成的数组(切片)
  • sqli-labs靶场 less 10
  • prometheus+grafana监控虚拟机实操
  • Windows 11 VS Code C/C++ 开发环境搭建——一种尽量“绿色”的方法
  • defconfig配置宏的规则
  • C. Assembly via Minimums
  • 一种C# Winform的UI处理
  • Python第六章18:数据容器的通用操作
  • 简单ELK框架搭建
  • 为pip设置国内镜像源
  • Android Jetpack学习总结(源码级理解)
  • 明达IOT 平台助推纺织龙头实现智能管理
  • 动态规划篇(数位统计DP)
  • 用空闲时间做了一个小程序-二维码生成器
  • 【安全】nginx防止host头攻击
  • c++弱指针实现原理
  • Python小练习系列 Vol.5:数独求解(经典回溯 + 剪枝)
  • Linux之基础知识
  • 深度学习处理时间序列(5)
  • 《新凯来:半导体设备制造领域的“国家队”》
  • 【愚公系列】《高效使用DeepSeek》039-政务工作辅助
  • LeetCode 2360.图中的最长环:一步一打卡(不撞南墙不回头) - 通过故事讲道理
  • Redis延时队列在订单超时未报到场景的应用分享
  • 【数据结构】二叉树 — 经典OJ面试题剖析!!!
  • 关于 websocket协议的理解
  • 001 - 前缀和算法:从原理到实战,一文讲透区间和问题