SpringBoot日志配置详解(手把手教你3步成功)

SpringBoot日志配置详解(手把手教你3步成功)-mikechen

SpringBoot日志是非常重要的,它可以帮助开发者快速定位和解决问题,下面详解 SpringBoot日志配置@mikechen

Spring Boot 集成了多种日志框架,例如 :Logback、Log4j2 和 JDK Logging 等,可以通过配置来选择使用哪种日志框架。

Spring Boot 默认采用 Logback 作为日志框架,通过简单的配置就可以使用 Logback 输出日志。

第一步:添加 Logback 依赖

首先,需要在pom.xml文件中添加logback依赖:

<!-- 日志框架,选择 Logback -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
</dependency>

 

第二步:配置 Logback 配置文件

在 src/main/resources 目录下创建 logback.xml 文件,添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/myapp.log</file>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <logger name="com.example" level="DEBUG" additivity="false">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </logger>

    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>

</configuration>

上述配置定义了两个日志输出方式,分别是控制台输出和文件输出,其中文件输出使用了日志滚动策略,每天生成一个日志文件,日志文件名为 myapp.日期.log。

详细的参数说明:

  • <appender> 标签用于定义日志输出器。
  • name 属性表示输出器的名称。
  • class 属性表示输出器的类型,ConsoleAppender 表示输出到控制台,RollingFileAppender 表示输出到文件。
  • <encoder> 标签用于定义日志输出格式。
  • <pattern> 标签表示输出的日志格式。
  • <rollingPolicy> 标签用于定义日志文件滚动策略,这里使用 TimeBasedRollingPolicy,即按时间滚动。
  • <fileNamePattern> 标签表示日志文件名的格式。
  • <logger> 标签用于定义 Logger,即日志记录器,name 属性表示 Logger 的名称,level 属性表示日志输出级别,additivity 属性表示是否将日志事件传递给父记录器。
  • <root> 标签表示根日志记录器,level 属性表示日志输出级别,<appender-ref> 标签表示引用输出器。

 

第三步:使用日志输出

最后,在Java代码中使用日志输出,可以使用org.slf4j.Logger接口,示例代码如下:

public class DemoController {

    private static final Logger LOGGER = LoggerFactory.getLogger(DemoController.class);

    public void demo() {
        LOGGER.info("This is a demo message");
    }
}

然后就可以使用 logger 记录日志了,例如:

logger.debug("debug message");
logger.info("info message");
logger.warn("warn message");
logger.error("error message");

完成以上三个步骤后,就可以在应用程序中使用 Logback 进行日志输出了。

以上及时SpringBoot日志配置详解,更多SpringBoot内容请查看:SpringBoot框架(万字图文全面详解)

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法