Commit ab2a24db4ed8ce401749028d292ead6eb2832e66

Authored by changpengfei
1 parent 8e304061b3
Exists in master and in 1 other branch dev

修改日志等

Showing 4 changed files with 136 additions and 140 deletions

talkonlineweb/pom.xml View file @ ab2a24d
... ... @@ -26,7 +26,8 @@
26 26 </exclusion>
27 27 </exclusions>
28 28 </dependency>
29   - <dependency> <!-- 引入log4j2依赖 -->
  29 + <!-- 引入log4j2依赖 -->
  30 + <dependency>
30 31 <groupId>org.springframework.boot</groupId>
31 32 <artifactId>spring-boot-starter-log4j2</artifactId>
32 33 </dependency>
talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java View file @ ab2a24d
1 1 package com.lyms.talkonlineweb.config;
2 2  
  3 +import com.alibaba.fastjson.JSON;
3 4 import com.lyms.talkonlineweb.annotation.TokenRequired;
  5 +import com.lyms.talkonlineweb.result.BaseResponse;
  6 +import com.lyms.talkonlineweb.result.CheckResult;
  7 +import com.lyms.talkonlineweb.util.JwtUtils;
  8 +import io.jsonwebtoken.Claims;
4 9 import lombok.extern.java.Log;
5 10 import org.springframework.beans.factory.annotation.Value;
6 11 import org.springframework.web.method.HandlerMethod;
... ... @@ -8,6 +13,8 @@
8 13  
9 14 import javax.servlet.http.HttpServletRequest;
10 15 import javax.servlet.http.HttpServletResponse;
  16 +import java.io.IOException;
  17 +import java.io.PrintWriter;
11 18 import java.lang.annotation.Annotation;
12 19  
13 20 @Log
14 21  
... ... @@ -32,11 +39,31 @@
32 39 return true;
33 40  
34 41 return validateToken(request, response);
35   -
36   -// return HandlerInterceptor.super.preHandle(request, response, handler);
37 42 }
38 43  
39   - private boolean validateToken(HttpServletRequest request, HttpServletResponse response) {
  44 + private boolean validateToken(HttpServletRequest request, HttpServletResponse response) throws IOException {
  45 + String token=request.getHeader("Authorization");
  46 + CheckResult checkResult=JwtUtils.validateJWT(token);
  47 +
  48 + if(!checkResult.isSuccess()){
  49 + BaseResponse baseResponse=new BaseResponse();
  50 + baseResponse.setErrorcode(1);
  51 + baseResponse.setErrormsg("无效token");
  52 + response.setCharacterEncoding("UTF-8");
  53 + response.setHeader("Cache-Control", "no-cache");
  54 + response.setContentType("application/json;charset=UTF-8");
  55 + PrintWriter printWriter=response.getWriter();
  56 + printWriter.write(JSON.toJSONString(baseResponse));
  57 + printWriter.flush();
  58 + printWriter.close();
  59 + return false;
  60 + }
  61 +
  62 + if(checkResult.isSuccess()){
  63 + Claims claims=checkResult.getClaims();
  64 + log.info(claims.toString());
  65 + }
  66 +
40 67 return true;
41 68 }
42 69  
talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java View file @ ab2a24d
1 1 package com.lyms.talkonlineweb.controller;
2 2  
3 3  
  4 +import com.lyms.talkonlineweb.annotation.TokenRequired;
4 5 import com.lyms.talkonlineweb.domain.LymsUser;
5 6 import com.lyms.talkonlineweb.service.LymsUserService;
6 7 import lombok.extern.java.Log;
... ... @@ -19,6 +20,7 @@
19 20 private LymsUserService lymsUserService;
20 21  
21 22 @GetMapping("lstUser")
  23 + @TokenRequired
22 24 public List<LymsUser> listUser(){
23 25 log.info("List user!!");
24 26 return lymsUserService.list();
talkonlineweb/src/main/resources/logback-spring.xml View file @ ab2a24d
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<configuration>
  2 +<configuration status="OFF">
  3 + <appenders>
3 4  
4   - <!-- 项目名称 -->
5   - <property name="PROJECT_NAME" value="talkonlineweb" />
  5 + <Console name="Console" target="SYSTEM_OUT">
  6 + <!--只接受程序中DEBUG级别的日志进行处理-->
  7 + <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
  8 + <PatternLayout pattern="[%d{HH:mm:ss.SSS}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  9 + </Console>
6 10  
7   - <!-- 日志保存路径为tomcat下面的logs下面的user_center文件夹,logback会自动创建文件夹,这样设置了就可以输出日志文件了 -->
8   - <substitutionProperty name="logbase" value="tlogs"/>
  11 + <!--处理DEBUG级别的日志,并把该日志放到logs/debug.log文件中-->
  12 + <!--打印出DEBUG级别日志,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
  13 + <RollingFile name="RollingFileDebug" fileName="./logs/debug.log"
  14 + filePattern="logs/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
  15 + <Filters>
  16 + <ThresholdFilter level="DEBUG"/>
  17 + <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>
  18 + </Filters>
  19 + <PatternLayout
  20 + pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  21 + <Policies>
  22 + <SizeBasedTriggeringPolicy size="500 MB"/>
  23 + <TimeBasedTriggeringPolicy/>
  24 + </Policies>
  25 + </RollingFile>
9 26  
  27 + <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
  28 + <RollingFile name="RollingFileInfo" fileName="./logs/info.log"
  29 + filePattern="logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
  30 + <Filters>
  31 + <!--只接受INFO级别的日志,其余的全部拒绝处理-->
  32 + <ThresholdFilter level="INFO"/>
  33 + <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
  34 + </Filters>
  35 + <PatternLayout
  36 + pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  37 + <Policies>
  38 + <SizeBasedTriggeringPolicy size="500 MB"/>
  39 + <TimeBasedTriggeringPolicy/>
  40 + </Policies>
  41 + </RollingFile>
10 42  
11   - <!-- 日志记录器,日期滚动记录 -->
12   - <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
13   - <!-- 正在记录的日志文件的路径及文件名 -->
14   - <file>${logbase}/log_error.log</file>
15   - <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
16   - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
17   - <fileNamePattern>${logbase}/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
18   - <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, 命名日志文件,例如log-error-2017-09-21.0.log -->
19   - <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
20   - <maxFileSize>10MB</maxFileSize>
21   - </timeBasedFileNamingAndTriggeringPolicy>
22   - </rollingPolicy>
23   - <!-- 追加方式记录日志 -->
24   - <append>true</append>
25   - <!-- 日志文件的格式 -->
26   - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
27   - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
28   - <charset>utf-8</charset>
29   - </encoder>
30   - <!-- 此日志文件只记录info级别的 -->
31   - <filter class="ch.qos.logback.classic.filter.LevelFilter">
32   - <level>error</level>
33   - <onMatch>ACCEPT</onMatch>
34   - <onMismatch>DENY</onMismatch>
35   - </filter>
36   - </appender>
37   - <!-- 日志记录器,日期滚动记录 -->
38   - <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
39   - <!-- 正在记录的日志文件的路径及文件名 -->
40   - <file>${logbase}/log_debug.log</file>
41   - <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
42   - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
43   - <fileNamePattern>${logbase}/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
44   - <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,命名日志文件,例如log-error-2018-09-21.0.log -->
45   - <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
46   - <maxFileSize>10MB</maxFileSize>
47   - </timeBasedFileNamingAndTriggeringPolicy>
48   - </rollingPolicy>
49   - <!-- 追加方式记录日志 -->
50   - <append>true</append>
51   - <!-- 日志文件的格式 -->
52   - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
53   - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
54   - <charset>utf-8</charset>
55   - </encoder>
56   - <!-- 此日志文件只记录debug级别的 -->
57   - <filter class="ch.qos.logback.classic.filter.LevelFilter">
58   - <level>debug</level>
59   - <onMatch>ACCEPT</onMatch>
60   - <onMismatch>DENY</onMismatch>
61   - </filter>
62   - </appender>
  43 + <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
  44 + <RollingFile name="RollingFileWarn" fileName="./logs/warn.log"
  45 + filePattern="logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
  46 + <Filters>
  47 + <ThresholdFilter level="WARN"/>
  48 + <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
  49 + </Filters>
  50 + <PatternLayout
  51 + pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  52 + <Policies>
  53 + <SizeBasedTriggeringPolicy size="500 MB"/>
  54 + <TimeBasedTriggeringPolicy/>
  55 + </Policies>
  56 + </RollingFile>
63 57  
64   - <!-- 日志记录器,日期滚动记录 -->
65   - <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
66   - <!-- 正在记录的日志文件的路径及文件名 -->
67   - <file>${logbase}/log_info.log</file>
68   - <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
69   - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
70   - <fileNamePattern>${logbase}/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
71   - <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, 命名日志文件,例如log-error-2017-09-21.0.log -->
72   - <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
73   - <maxFileSize>10MB</maxFileSize>
74   - </timeBasedFileNamingAndTriggeringPolicy>
75   - </rollingPolicy>
76   - <!-- 追加方式记录日志 -->
77   - <append>true</append>
78   - <!-- 日志文件的格式 -->
79   - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
80   - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
81   - <charset>utf-8</charset>
82   - </encoder>
83   - <!-- 此日志文件只记录info级别的 -->
84   - <filter class="ch.qos.logback.classic.filter.LevelFilter">
85   - <level>info</level>
86   - <onMatch>ACCEPT</onMatch>
87   - <onMismatch>DENY</onMismatch>
88   - </filter>
89   - </appender>
  58 + <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
  59 + <RollingFile name="RollingFileError" fileName="./logs/error.log"
  60 + filePattern="logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
  61 + <ThresholdFilter level="ERROR"/>
  62 + <PatternLayout
  63 + pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  64 + <Policies>
  65 + <SizeBasedTriggeringPolicy size="500 MB"/>
  66 + <TimeBasedTriggeringPolicy/>
  67 + </Policies>
  68 + </RollingFile>
90 69  
  70 + <!--druid的日志记录追加器-->
  71 + <RollingFile name="druidSqlRollingFile" fileName="./logs/druid-sql.log"
  72 + filePattern="logs/$${date:yyyy-MM}/api-%d{yyyy-MM-dd}-%i.log.gz">
  73 + <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
  74 + <Policies>
  75 + <SizeBasedTriggeringPolicy size="500 MB"/>
  76 + <TimeBasedTriggeringPolicy/>
  77 + </Policies>
  78 + </RollingFile>
  79 + </appenders>
91 80  
92   - <!-- 日志记录器,日期滚动记录 -->
93   - <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
94   - <!-- 正在记录的日志文件的路径及文件名 -->
95   - <file>${logbase}/log_warn.log</file>
96   - <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
97   - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
98   - <fileNamePattern>${logbase}/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
99   - <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,命名日志文件,例如log-error-2018-09-21.0.log -->
100   - <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
101   - <maxFileSize>10MB</maxFileSize>
102   - </timeBasedFileNamingAndTriggeringPolicy>
103   - </rollingPolicy>
104   - <!-- 追加方式记录日志 -->
105   - <append>true</append>
106   - <!-- 日志文件的格式 -->
107   - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
108   - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
109   - <charset>utf-8</charset>
110   - </encoder>
111   - <!-- 此日志文件只记录warn级别的 -->
112   - <filter class="ch.qos.logback.classic.filter.LevelFilter">
113   - <level>warn</level>
114   - <onMatch>ACCEPT</onMatch>
115   - <onMismatch>DENY</onMismatch>
116   - </filter>
117   - </appender>
  81 + <loggers>
  82 + <root level="DEBUG">
  83 + <appender-ref ref="Console"/>
  84 + <appender-ref ref="RollingFileInfo"/>
  85 + <appender-ref ref="RollingFileWarn"/>
  86 + <appender-ref ref="RollingFileError"/>
  87 + <appender-ref ref="RollingFileDebug"/>
  88 + </root>
118 89  
  90 + <!--记录druid-sql的记录-->
  91 + <logger name="druid.sql.Statement" level="debug" additivity="false">
  92 + <appender-ref ref="druidSqlRollingFile"/>
  93 + </logger>
  94 + <logger name="druid.sql.Statement" level="debug" additivity="false">
  95 + <appender-ref ref="druidSqlRollingFile"/>
  96 + </logger>
119 97  
120   - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
121   - <!--encoder 默认配置为PatternLayoutEncoder-->
122   - <encoder>
123   - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
124   - <charset>utf-8</charset>
125   - </encoder>
126   - <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
127   - <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
128   - <level>info</level>
129   - </filter>
130   - </appender>
131   -
132   -
133   - <!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
134   - <logger name="com.lyms" level="info" additivity="false">
135   - <appender-ref ref="ERROR" />
136   - <appender-ref ref="DEBUG" />
137   - <appender-ref ref="INFO" />
138   - <appender-ref ref="WARN" />
139   - <appender-ref ref="STDOUT" />
140   - </logger>
141   - <root level="info">
142   - <!-- 生产环境将请 stdout 去掉 -->
143   - <appender-ref ref="STDOUT" />
144   - </root>
145   -
  98 + <!--log4j2 自带过滤日志-->
  99 + <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
  100 + <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
  101 + <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
  102 + <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
  103 + <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
  104 + <Logger name="org.crsh.plugin" level="warn" />
  105 + <logger name="org.crsh.ssh" level="warn"/>
  106 + <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
  107 + <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
  108 + <logger name="org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration" level="warn"/>
  109 + <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
  110 + <logger name="org.thymeleaf" level="warn"/>
  111 + </loggers>
146 112 </configuration>