springboot(九)-log配置

时间:2019-03-19
本文章向大家介绍springboot(九)-log配置,主要包括springboot(九)-log配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

spring项目放到tomcat中运行,我们可以在tomcat的logs文件夹下面生成log文件。那么我们的springboot项目没有放到系统安装的tomcat容器中,怎么设置生成log文件呢?

有两种方式:

1.使用log4j

  使用log4j,在application.properties文件中配置

  logging.path = d:/myLog

  然后项目运行之后,会在d盘生成一个myLog的文件夹,里面有一个叫spring的文件,生成的log记录都在该文件里。(不推荐使用)

2.使用SLF4J/logback

  springboot是默认使用SLF4J/logback的。

  两个地方:

  • 使用    
 1 import org.aspectj.lang.annotation.AfterReturning;
 2 import org.aspectj.lang.annotation.Aspect;
 3 import org.aspectj.lang.annotation.Pointcut;
 4 import org.slf4j.Logger;
 5 import org.slf4j.LoggerFactory;
 6 import org.springframework.stereotype.Component;
 7 
 8 import com.cetc.cks.constant.Constant;
 9 
10 import net.sf.json.JSONObject;
11 
12 /**
13  * 管理员重置密码或给某用户解绑做日志管理
14  */
15 @Aspect
16 @Component
17 public class AspectReset {
18 
19     private final static Logger log = LoggerFactory.getLogger(AspectReset.class);
20 
21         // 。。。
22 }
点击展开
  • 配置

  在src/main/resource目录下添加logback.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration debug="false" scan="false">
 3 
 4     <!-- Log file path ../../../../../../../ to disk root -->
 5     <property name="log.path" value="logs" />
 6 
 7     <!-- Spring boot default -->
 8     <include resource="org/springframework/boot/logging/logback/defaults.xml" />
 9 
10     <!-- Console log output -->
11     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
12         <encoder>
13             <pattern>%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%n</pattern>
14         </encoder>
15     </appender>
16 
17     <!-- Log file debug output -->
18     <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
19         <file>d:/logs/debug.log</file>
20         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
21             <fileNamePattern>d:/logs/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
22             <maxFileSize>50MB</maxFileSize>
23             <maxHistory>30</maxHistory>
24         </rollingPolicy>
25         <encoder>
26             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
27         </encoder>
28     </appender>
29 
30     <!-- Log file error output -->
31     <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
32         <file>d:/errorlogs/error.log</file>
33         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
34             <fileNamePattern>d:/errorlogs/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
35             <maxFileSize>50MB</maxFileSize>
36             <maxHistory>30</maxHistory>
37         </rollingPolicy>
38         <encoder>
39             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
40         </encoder>
41         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
42             <level>ERROR</level>
43         </filter>
44     </appender>
45 
46     <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
47     <root level="INFO">
48         <appender-ref ref="console" />
49         <appender-ref ref="debug" />
50         <appender-ref ref="error" />
51     </root>
52 
53     <logger name="sun.rmi.loader" level="WARN"/>
54     <logger name="com.zaxxer.hikari" level="WARN"/>
55     <logger name="org.springframework" level="WARN"/>
56     <logger name="org.apache.http" level="WARN"/>
57     <logger name="com.ulisesbocchio" level="WARN"/>
58     <logger name="com.netflix.discovery" level="WARN"/>
59 </configuration>
点击展开

项目运行之后,在D盘logs目录下会出现

它以天为单位将每天的日志文件打成压缩包,具体参照logback.xml文件中内容。