Springboot项目优雅地处理日志的方法详解


如上图,每天会生成一个新的日志文件,然后日志进行分类,我这里只对error和info进行分类。
怎么做呢?
首先,在resource目录创建一个新文件,取名logback-spring.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration >
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>
ERROR
</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!-- 滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 路径-->
<fileNamePattern>
/var/log/tomcat/sell/info.%d.log
</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>
ERROR
</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!-- 滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 路径-->
<fileNamePattern>
/var/log/tomcat/sell/error.%d.log
</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileInfoLog" />
<appender-ref ref="fileErrorLog" />
</root>
</configuration>
单例测试:
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
@Data
public class LoggerTest {
@Test
public void test1(){
String name="laomi";
String password="123456";
log.info("debug.....");
log.info("info.....");
log.error("error....");
log.info("name:{}, password:{}",name,password);
}
}
添加依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>test</scope>
</dependency>

fileNamePattern这个是文件路径,我是在这个项目的同级目录找到新创建的文件夹的

以此文章以后方便二次使用。
到此这篇关于Springboot项目优雅地处理日志的文章就介绍到这了,更多相关Springboot处理日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot @Validated和@Valid的区别及使用详解
这篇文章主要介绍了Springboot @Validated和@Valid的区别及使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05
解决springboot bean中大写的字段返回变成小写的问题
这篇文章主要介绍了解决springboot bean中大写的字段返回变成小写的问题,具有很好的参考价值希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01
java Comparable和Comparator的区别及作用面试精讲
这篇文章主要为大家介绍了java Comparable和Comparator的区别及作用面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-10
SpringMVC+Mybatis二维码实现多平台付款(附源码)
本文主要实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-08-08
Java常问面试内容--数组、声明、初始化、冒泡、多维数组、稀疏数组
这篇文章主要介绍了Java多线程面试题(面试官常问),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-07-07


最新评论