SpringBoot3+Lombok如何配置logback输出日志到文件

Background/Requirement

SpringBoot3+Lombok如何配置logback输出日志到文件,因为我需要对这些日志进行输出,控制台输出和文件输出,文件输出是为了更好的作为AuditLog且支持滚动式备份,每天一个文件。

Technical Solution

1.确保你使用了Lombok且使用 Lombok 的 @Slf4j 注解

在你的 Java 类中,使用 Lombok 提供的 @Slf4j 注解来简化日志操作。例如:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyService {
    public void doSomething() {
        log.info("This is an info message");
        log.debug("This is a debug message");
    }
}

2.在项目的 src/main/resources 目录下创建或修改 logback-{env}.xml 文件



    
    
    
    
    
    
    
        
            
            
            %d{yyyy-MM-dd HH:mm:ss:SS} %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{50}) -
                %n%cyan(%msg%n)
            
        
    
    
    
        ${LOG_HOME}/${LOG_NAME}-${APP_ENV}.log
        
            
            ${LOG_HOME}/${LOG_NAME}-${APP_ENV}_%d{yyyy-MM-dd}.log
            
            90
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
        
            50MB
        
    

    
    
        
        
    

3.确保你的application-{env}文件中正确引用这个logging config

server:
  port: 12306
  servlet:
      context-path: /sre
aes:
    secret-key: SRE12306
logging:
  config: classpath:logback-dev.xml

4.启动并检查是否生效

如果你的项目配置不正确,或者日志路径无效(或没权限),则无法启动,请注意!!!

SpringBoot3+Lombok如何配置logback输出日志到文件_第1张图片

 5.开源项目参考

如果你还不知道怎么配置,可以参考我的开源项目 Server Remote Execution(SRE)

https://github.com/moshowgame/ServerRemoteExecution/https://github.com/moshowgame/ServerRemoteExecution/

ServerRemoteExecution: Server Remote Execution(SRE),基于SpringBoot3的服务器远程维护工具,支持远程目录查看,专业日志目录查看器模式,文本浏览器查看文件,下载文件等操作,也支持远程执行白名单的powershell命令,web容器为Undertow(非默认tomcat),其他的请自行添加和配置。

你可能感兴趣的:(SpringBoot3启示录,logback,lombok,日志,springboot)