Commit 94edd958242fd68223c94b9b83a1f2fc1ff9fca4

Authored by 648540858
Committed by GitHub
2 parents b4b9ad28 42a2772d

Merge pull request #1205 from xu-bin-bin/wvp-28181-2.0

修改输出的日志格式
src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java
@@ -78,6 +78,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { @@ -78,6 +78,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
78 78
79 // 构建UsernamePasswordAuthenticationToken,这里密码为null,是因为提供了正确的JWT,实现自动登录 79 // 构建UsernamePasswordAuthenticationToken,这里密码为null,是因为提供了正确的JWT,实现自动登录
80 User user = new User(); 80 User user = new User();
  81 + user.setId(jwtUser.getUserId());
81 user.setUsername(jwtUser.getUserName()); 82 user.setUsername(jwtUser.getUserName());
82 user.setPassword(jwtUser.getPassword()); 83 user.setPassword(jwtUser.getPassword());
83 Role role = new Role(); 84 Role role = new Role();
src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
@@ -144,6 +144,7 @@ public class JwtUtils implements InitializingBean { @@ -144,6 +144,7 @@ public class JwtUtils implements InitializingBean {
144 jwtUser.setUserName(username); 144 jwtUser.setUserName(username);
145 jwtUser.setPassword(user.getPassword()); 145 jwtUser.setPassword(user.getPassword());
146 jwtUser.setRoleId(user.getRole().getId()); 146 jwtUser.setRoleId(user.getRole().getId());
  147 + jwtUser.setUserId(user.getId());
147 148
148 return jwtUser; 149 return jwtUser;
149 } catch (InvalidJwtException e) { 150 } catch (InvalidJwtException e) {
src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
@@ -21,6 +21,7 @@ public class JwtUser { @@ -21,6 +21,7 @@ public class JwtUser {
21 EXCEPTION 21 EXCEPTION
22 } 22 }
23 23
  24 + private int userId;
24 private String userName; 25 private String userName;
25 26
26 private String password; 27 private String password;
@@ -29,6 +30,14 @@ public class JwtUser { @@ -29,6 +30,14 @@ public class JwtUser {
29 30
30 private TokenStatus status; 31 private TokenStatus status;
31 32
  33 + public int getUserId() {
  34 + return userId;
  35 + }
  36 +
  37 + public void setUserId(int userId) {
  38 + this.userId = userId;
  39 + }
  40 +
32 public String getUserName() { 41 public String getUserName() {
33 return userName; 42 return userName;
34 } 43 }
src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
1 package com.genersoft.iot.vmp.gb28181.conf; 1 package com.genersoft.iot.vmp.gb28181.conf;
2 2
3 import gov.nist.core.StackLogger; 3 import gov.nist.core.StackLogger;
4 -import org.slf4j.Logger;  
5 import org.slf4j.LoggerFactory; 4 import org.slf4j.LoggerFactory;
  5 +import org.slf4j.spi.LocationAwareLogger;
6 import org.springframework.stereotype.Component; 6 import org.springframework.stereotype.Component;
7 7
8 import java.util.Properties; 8 import java.util.Properties;
@@ -10,100 +10,132 @@ import java.util.Properties; @@ -10,100 +10,132 @@ import java.util.Properties;
10 @Component 10 @Component
11 public class StackLoggerImpl implements StackLogger { 11 public class StackLoggerImpl implements StackLogger {
12 12
13 - private final static Logger logger = LoggerFactory.getLogger(StackLoggerImpl.class); 13 + /**
  14 + * 完全限定类名(Fully Qualified Class Name),用于定位日志位置
  15 + */
  16 + private static final String FQCN = StackLoggerImpl.class.getName();
  17 +
  18 + /**
  19 + * 获取栈中类信息(以便底层日志记录系统能够提取正确的位置信息(方法名、行号))
  20 + * @return LocationAwareLogger
  21 + */
  22 + private static LocationAwareLogger getLocationAwareLogger() {
  23 + return (LocationAwareLogger) LoggerFactory.getLogger(new Throwable().getStackTrace()[4].getClassName());
  24 + }
  25 +
  26 +
  27 + /**
  28 + * 封装打印日志的位置信息
  29 + * @param level 日志级别
  30 + * @param message 日志事件的消息
  31 + */
  32 + private static void log(int level, String message) {
  33 + LocationAwareLogger locationAwareLogger = getLocationAwareLogger();
  34 + locationAwareLogger.log(null, FQCN, level, message, null, null);
  35 + }
  36 +
  37 + /**
  38 + * 封装打印日志的位置信息
  39 + * @param level 日志级别
  40 + * @param message 日志事件的消息
  41 + */
  42 + private static void log(int level, String message, Throwable throwable) {
  43 + LocationAwareLogger locationAwareLogger = getLocationAwareLogger();
  44 + locationAwareLogger.log(null, FQCN, level, message, null, throwable);
  45 + }
  46 +
  47 + @Override
  48 + public void logStackTrace() {
  49 +
  50 + }
  51 +
  52 + @Override
  53 + public void logStackTrace(int traceLevel) {
  54 + System.out.println("traceLevel: " + traceLevel);
  55 + }
  56 +
  57 + @Override
  58 + public int getLineCount() {
  59 + return 0;
  60 + }
  61 +
  62 + @Override
  63 + public void logException(Throwable ex) {
  64 +
  65 + }
  66 +
  67 + @Override
  68 + public void logDebug(String message) {
  69 + log(LocationAwareLogger.INFO_INT, message);
  70 + }
  71 +
  72 + @Override
  73 + public void logDebug(String message, Exception ex) {
  74 + log(LocationAwareLogger.INFO_INT, message, ex);
  75 + }
  76 +
  77 + @Override
  78 + public void logTrace(String message) {
  79 + log(LocationAwareLogger.INFO_INT, message);
  80 + }
  81 +
  82 + @Override
  83 + public void logFatalError(String message) {
  84 + log(LocationAwareLogger.INFO_INT, message);
  85 + }
  86 +
  87 + @Override
  88 + public void logError(String message) {
  89 + log(LocationAwareLogger.INFO_INT, message);
  90 + }
  91 +
  92 + @Override
  93 + public boolean isLoggingEnabled() {
  94 + return true;
  95 + }
  96 +
  97 + @Override
  98 + public boolean isLoggingEnabled(int logLevel) {
  99 + return true;
  100 + }
  101 +
  102 + @Override
  103 + public void logError(String message, Exception ex) {
  104 + log(LocationAwareLogger.INFO_INT, message, ex);
  105 + }
  106 +
  107 + @Override
  108 + public void logWarning(String message) {
  109 + log(LocationAwareLogger.INFO_INT, message);
  110 + }
  111 +
  112 + @Override
  113 + public void logInfo(String message) {
  114 + log(LocationAwareLogger.INFO_INT, message);
  115 + }
  116 +
  117 + @Override
  118 + public void disableLogging() {
  119 +
  120 + }
  121 +
  122 + @Override
  123 + public void enableLogging() {
  124 +
  125 + }
  126 +
  127 + @Override
  128 + public void setBuildTimeStamp(String buildTimeStamp) {
  129 +
  130 + }
  131 +
  132 + @Override
  133 + public void setStackProperties(Properties stackProperties) {
14 134
15 - @Override  
16 - public void logStackTrace() { 135 + }
17 136
18 - }  
19 -  
20 - @Override  
21 - public void logStackTrace(int traceLevel) {  
22 - System.out.println("traceLevel: " + traceLevel);  
23 - }  
24 -  
25 - @Override  
26 - public int getLineCount() {  
27 - return 0;  
28 - }  
29 -  
30 - @Override  
31 - public void logException(Throwable ex) {  
32 -  
33 - }  
34 -  
35 - @Override  
36 - public void logDebug(String message) {  
37 -// logger.debug(message);  
38 - }  
39 -  
40 - @Override  
41 - public void logDebug(String message, Exception ex) {  
42 -// logger.debug(message);  
43 - }  
44 -  
45 - @Override  
46 - public void logTrace(String message) {  
47 - logger.trace(message);  
48 - }  
49 -  
50 - @Override  
51 - public void logFatalError(String message) {  
52 -// logger.error(message);  
53 - }  
54 -  
55 - @Override  
56 - public void logError(String message) {  
57 -// logger.error(message);  
58 - }  
59 -  
60 - @Override  
61 - public boolean isLoggingEnabled() {  
62 - return true;  
63 - }  
64 -  
65 - @Override  
66 - public boolean isLoggingEnabled(int logLevel) {  
67 - return true;  
68 - }  
69 -  
70 - @Override  
71 - public void logError(String message, Exception ex) {  
72 -// logger.error(message);  
73 - }  
74 -  
75 - @Override  
76 - public void logWarning(String message) {  
77 - logger.warn(message);  
78 - }  
79 -  
80 - @Override  
81 - public void logInfo(String message) {  
82 - logger.info(message);  
83 - }  
84 -  
85 - @Override  
86 - public void disableLogging() {  
87 -  
88 - }  
89 -  
90 - @Override  
91 - public void enableLogging() {  
92 -  
93 - }  
94 -  
95 - @Override  
96 - public void setBuildTimeStamp(String buildTimeStamp) {  
97 -  
98 - }  
99 -  
100 - @Override  
101 - public void setStackProperties(Properties stackProperties) {  
102 -  
103 - }  
104 -  
105 - @Override  
106 - public String getLoggerName() {  
107 - return null;  
108 - } 137 + @Override
  138 + public String getLoggerName() {
  139 + return null;
  140 + }
109 } 141 }
src/main/resources/logback-spring.xml
@@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
4 <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/> 4 <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
5 <property name="LOG_HOME" value="logs" /> 5 <property name="LOG_HOME" value="logs" />
6 6
7 - <substitutionProperty name="log.pattern" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(---){faint} %clr(%-1.30logger{0}){cyan} %clr(:){faint} %m%n%wEx"/>  
8 - 7 + <substitutionProperty name="log.pattern"
  8 + value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr([%thread]) %clr(%5p) %clr(---){faint} %clr(%logger{50}){cyan} %clr(:) %clr(%L){faint} %m%n%wEx"/>
9 <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> 9 <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
10 <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> 10 <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
11 <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> 11 <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>