Spring Boot 初级入门教程(二) —— 日志备份
2018年05月24日 21:50:35 SpringBoot ⁄ 共 2523字 暂无评论 ⁄ 被围观 892次

场景一:在开发过程中,我们常常测试程序是否正确,最直接的方式就是查看 IDE 开发环境的控制台输出 log 日志,如果日志输出超长或者超快,则很难在控制台看到自己代码中的打印,或者看到异常错误等。

场景二:不管是已上线程序,还是正在调试的程序,想给其他人发送 log 日志,每次都是复制,贴入 QQ 并发送,但很多次都是失败,原因是内容太长,不得不新建 txt 文本,粘贴日志信息并保存,拖入 QQ 并发送,特别麻烦。

需求:

最好在控制台打印的过程中,能把日志备份下来,这样即使日志再多,也可以打开去看,去寻找错误原因,就像 Tomcat 服务器下 log 目录下的 catalina.out 一样。

方法一:查看本博客文章《MyEclipse 把 Console 中的 log 输出为文件》,其中有三种方法生成日志文件。

说了上面一大堆,与博客标题 Spring Boot 日志备份没有半毛钱关系。。。

别着急,既然学习 Spring Boot,肯定有更加方便的日志备份方式,接下来正式开始。

方法二:

一、创建日志配置文件

在上篇文章中,创建的 Source 目录下,创建 logback.xml 日志配置文件。

  1. <configuration>  
  2.     <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名 -->  
  3.     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
  4.         <encoder>  
  5.             <pattern>%d %p (%file:%line\)- %m%n</pattern>  
  6.             <charset>UTF-8</charset>  
  7.         </encoder>  
  8.     </appender>  
  9.     <appender name="baselog"  
  10.         class="ch.qos.logback.core.rolling.RollingFileAppender">  
  11.         <File>log/base.log</File>  
  12.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  13.             <fileNamePattern>log/base.log.%d.%i</fileNamePattern>  
  14.             <timeBasedFileNamingAndTriggeringPolicy  
  15.                 class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">  
  16.                 <!-- or whenever the file size reaches 64 MB -->  
  17.                 <maxFileSize>64 MB</maxFileSize>  
  18.             </timeBasedFileNamingAndTriggeringPolicy>  
  19.         </rollingPolicy>  
  20.         <encoder>  
  21.             <pattern>  
  22.                 %d %p (%file:%line\)- %m%n  
  23.             </pattern>  
  24.             <charset>UTF-8</charset>  
  25.         </encoder>  
  26.     </appender>  
  27.     <root level="info">  
  28.         <appender-ref ref="STDOUT" />  
  29.     </root>  
  30.     <logger name="com.menglanglang.test.springboot" level="DEBUG">  
  31.         <appender-ref ref="baselog" />  
  32.     </logger>  
  33. </configuration>  

二、运行项目

正常启动项目

三、查看日志备份

直接打开项目所在磁盘目录,进入 test-springboot,可以看到一个自动生成的目录 log,进入 log 目录后,可以找到日志文件 base.log,内容如下:

  1. 2018-05-24 21:45:42,460 INFO (StartupInfoLogger.java:48)- Starting App on LangLang-PC with PID 6540 (D:\STS\sts-bundle\workspace\test-springboot\target\classes started by LangLang in D:\STS\sts-bundle\workspace\test-springboot)  
  2. 2018-05-24 21:45:42,464 DEBUG (StartupInfoLogger.java:51)- Running with Spring Boot v1.4.2.RELEASE, Spring v4.3.4.RELEASE  
  3. 2018-05-24 21:45:42,465 INFO (SpringApplication.java:661)- No active profile set, falling back to default profiles: default  
  4. 2018-05-24 21:45:44,690 INFO (StartupInfoLogger.java:57)- Started App in 2.577 seconds (JVM running for 3.389)  

可以看到有工作台中的部分日志,但用于查错误或者自定义输出,肯定足够。

到此,日志备份配置完毕,不是很难,先在项目中用起来,加油!

给我留言

留言无头像?