Commit ab2a24db4ed8ce401749028d292ead6eb2832e66
1 parent
8e304061b3
Exists in
master
修改日志等
Showing 4 changed files with 136 additions and 140 deletions
talkonlineweb/pom.xml
View file @
ab2a24d
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> |