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

时间:2022-04-21 22:38:20

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

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

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

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <configuration >
  3. <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
  4. <layout class="ch.qos.logback.classic.PatternLayout">
  5. <pattern>
  6. %d - %msg%n
  7. </pattern>
  8. </layout>
  9. </appender>
  10.  
  11. <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  12. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  13. <level>
  14. ERROR
  15. </level>
  16. <onMatch>DENY</onMatch>
  17. <onMismatch>ACCEPT</onMismatch>
  18. </filter>
  19. <encoder>
  20. <pattern>
  21. %msg%n
  22. </pattern>
  23. </encoder>
  24. <!-- 滚动策略-->
  25. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  26. <!-- 路径-->
  27. <fileNamePattern>
  28. /var/log/tomcat/sell/info.%d.log
  29. </fileNamePattern>
  30. </rollingPolicy>
  31. </appender>
  32.  
  33. <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  34. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  35. <level>
  36. ERROR
  37. </level>
  38. </filter>
  39. <encoder>
  40. <pattern>
  41. %msg%n
  42. </pattern>
  43. </encoder>
  44. <!-- 滚动策略-->
  45. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  46. <!-- 路径-->
  47. <fileNamePattern>
  48. /var/log/tomcat/sell/error.%d.log
  49. </fileNamePattern>
  50. </rollingPolicy>
  51. </appender>
  52.  
  53. <root level="info">
  54. <appender-ref ref="consoleLog" />
  55. <appender-ref ref="fileInfoLog" />
  56. <appender-ref ref="fileErrorLog" />
  57.  
  58. </root>
  59. </configuration>

单例测试:

  1. import lombok.Data;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.junit.jupiter.api.Test;
  4. import org.junit.runner.RunWith;
  5. import org.springframework.boot.test.context.SpringBootTest;
  6. import org.springframework.test.context.junit4.SpringRunner;
  7.  
  8. @RunWith(SpringRunner.class)
  9. @SpringBootTest
  10. @Slf4j
  11. @Data
  12. public class LoggerTest {
  13.  
  14. @Test
  15. public void test1(){
  16. String name="laomi";
  17. String password="123456";
  18. log.info("debug.....");
  19. log.info("info.....");
  20. log.error("error....");
  21. log.info("name:{}, password:{}",name,password);
  22.  
  23. }
  24. }

添加依赖:

  1. <dependency>
  2. <groupId>org.projectlombok</groupId>
  3. <artifactId>lombok</artifactId>
  4. <scope>test</scope>
  5. </dependency>

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

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

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

以此文章以后方便二次使用。

到此这篇关于Springboot项目优雅地处理日志的文章就介绍到这了,更多相关Springboot处理日志内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43449246/article/details/118511899