Spring Boot日志的使用和配置

基础

日志系统有 日志门面 和 日志实现(类似JDBC和MySQL的关系)
日志门面用于统一接口,可以切换不同的日志实现

Spring Boot中的日志

Spring Boot默认使用SLF4j作为日志门面,Logback作为日志实现框架,但同时也支持Java Util Logging、Log4J2等其他日志实现。

通过默认引入spring-boot-starter-logging依赖,Spring Boot会自动配置这些日志框架,并将其集成到项目中。

当Spring Boot启动时,会创建一个SpringApplication实例,并通过LoggingApplicationListener监听器来初始化日志系统。这个监听器会在Spring Boot启动过程中响应不同的事件(如ApplicationStartingEvent),并根据这些事件加载和配置日志框架。

日志配置

日志配置可以通过application.propertiesapplication.yml文件进行设置。例如,可以设置日志级别、日志文件路径、日志格式等。Spring Boot还支持通过XML配置文件(如logback-spring.xml)来进一步定制日志输出

配置项

日志输出格式:logging.pattern
日志级别调整:logging.level
日志文件输出:logging.file

日志文件归档:
Spring Boot默认使用的logback可以通过application.propertiesapplication.yml文件进行设置。log4j2等需要自行创建xml配置文件。
日志归档配置:logging.logback.rollingpolicy

日志使用

经典方式使用LoggerFactory:

import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@RestController  
public class TestController {  
    Logger logger = LoggerFactory.getLogger(TestController.class);  
  
    @GetMapping("/test")  
    public String test() {  
        logger.info("test");  
        return "test";  
    }  
}

使用lombok注解@Slf4j

import lombok.extern.slf4j.Slf4j;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@Slf4j  
@RestController  
public class TestController {  
  
    @GetMapping("/test")  
    public String test() {  
        log.info("test");  
        return "test";  
    }  
}
posted @   尼丝  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示