springboot2.1版本使用logback日志(自己已经验证)

https://blog.csdn.net/weixin_40593587/article/details/86622009

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_40593587/article/details/86622009

昨天找了很多的logback的博客发现写的都是很旧的版本根本就用不了,今天自己测试了出来了;下面开始代码:

pom文件如下:


 
 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0 </modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot </groupId>
  7. <artifactId>spring-boot-starter-parent </artifactId>
  8. <version>2.1.2.RELEASE </version>
  9. <relativePath/> <!-- lookup parent from repository -->
  10. </parent>
  11. <groupId>com.example.phone </groupId>
  12. <artifactId>demo </artifactId>
  13. <version>0.0.1-SNAPSHOT </version>
  14. <name>demo </name>
  15. <description>Demo project for Spring Boot </description>
  16. <properties>
  17. <java.version>1.8 </java.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>org.springframework.boot </groupId>
  22. <artifactId>spring-boot-starter-web </artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.springframework.boot </groupId>
  26. <artifactId>spring-boot-starter-freemarker </artifactId>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.mybatis.spring.boot </groupId>
  30. <artifactId>mybatis-spring-boot-starter </artifactId>
  31. <version>1.3.2 </version>
  32. </dependency>
  33. <dependency>
  34. <groupId>com.alibaba </groupId>
  35. <artifactId>fastjson </artifactId>
  36. <version>1.2.46 </version>
  37. </dependency>
  38. <dependency>
  39. <groupId>mysql </groupId>
  40. <artifactId>mysql-connector-java </artifactId>
  41. <scope>runtime </scope>
  42. </dependency>
  43. <!--<dependency>-->
  44. <!--<groupId>org.springframework.boot</groupId>-->
  45. <!--<artifactId>spring-boot-starter-log4j2</artifactId>-->
  46. <!--</dependency>这个并不需要-->
  47. <dependency>
  48. <groupId>org.springframework.boot </groupId>
  49. <artifactId>spring-boot-starter-test </artifactId>
  50. <scope>test </scope>
  51. </dependency>
  52. </dependencies>
  53. <build>
  54. <plugins>
  55. <plugin>
  56. <groupId>org.springframework.boot </groupId>
  57. <artifactId>spring-boot-maven-plugin </artifactId>
  58. </plugin>
  59. </plugins>
  60. </build>
  61. </project>

接下来我们需要在resources目录下建立一个xml文件,就叫做logback-spring.xml;为什么要起这个名字呢,因为起这个名字springboot2.1会自己去找该文件,里面内容如下:


 
 
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <configuration>
  3. <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender">
  4. <layout class="ch.qos.logback.classic.PatternLayout">
  5. <pattern>
  6. %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
  7. </pattern>
  8. </layout>
  9. </appender>
  10. <appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
  11. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  12. <level>ERROR </level>
  13. <onMatch>DENY </onMatch>
  14. <onMismatch>ACCEPT </onMismatch>
  15. </filter>
  16. <encoder>
  17. <pattern>
  18. %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
  19. </pattern>
  20. </encoder>
  21. <!-- 滚动策略 -->
  22. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  23. <!-- 路径 -->
  24. <fileNamePattern>app_log/log/app.info.%d.log </fileNamePattern>
  25. </rollingPolicy>
  26. </appender>
  27. <appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
  28. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  29. <level>ERROR </level>
  30. </filter>
  31. <encoder>
  32. <pattern>
  33. %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
  34. </pattern>
  35. </encoder>
  36. <!-- 设置滚动策略 -->
  37. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  38. <!-- 路径 -->
  39. <fileNamePattern>app_log/log/app.err.%d.log </fileNamePattern>
  40. <!-- 控制保留的归档文件的最大数量,超出数量就删除旧文件,假设设置每个月滚动,
  41. 且<maxHistory> 是1,则只保存最近1个月的文件,删除之前的旧文件 -->
  42. <MaxHistory>1 </MaxHistory>
  43. </rollingPolicy>
  44. </appender>
  45. <root level="INFO">
  46. <appender-ref ref="consoleApp"/>
  47. <appender-ref ref="fileInfoApp"/>
  48. <appender-ref ref="fileErrorApp"/>
  49. </root>
  50. </configuration>

这样子就可以了,这样我们在控制器就可以使用了:

import org.slf4j.LoggerFactory;、//注意导包的时候是导进去这个包;
 
 
private org.slf4j.Logger logger=LoggerFactory.getLogger(this.getClass());
 
 

调用接口如下:


 
 
  1. @RequestMapping("/addInformation")
  2. public Map<String, String> addUser( @RequestBody Information information) {
  3. System. out.println( "开始新增...");
  4. System. out.println(information);
  5. System. out.println(information.getImei());
  6. System. out.println(information.getKey());
  7. boolean flag= informationService.addInformation(information);
  8. // return flag;
  9. logger.info( " i am info");
  10. logger.error( "i am error");
  11. logger.warn( " i am warn");
  12. logger.debug( " i am debug");
  13. return jsonCommon.SucessRequest();

接下来访问的时候就会显示

 并会将info和error的信息打印到了我们指定的文件中,文件是自动生成的:我们在logback-spring.xml中配置了error的信息放在了

app_log/log/app.err.%d.log这个文件,info的信息会放在这个文件
 
 
app_log/log/app.info.%d.log
 
 

访问接口的时候就会自动生成这些目录和文件;目录如下所示:

 

 

 

运行访问成功。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_world!

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值