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 78  
79 79 // 构建UsernamePasswordAuthenticationToken,这里密码为null,是因为提供了正确的JWT,实现自动登录
80 80 User user = new User();
  81 + user.setId(jwtUser.getUserId());
81 82 user.setUsername(jwtUser.getUserName());
82 83 user.setPassword(jwtUser.getPassword());
83 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 144 jwtUser.setUserName(username);
145 145 jwtUser.setPassword(user.getPassword());
146 146 jwtUser.setRoleId(user.getRole().getId());
  147 + jwtUser.setUserId(user.getId());
147 148  
148 149 return jwtUser;
149 150 } catch (InvalidJwtException e) {
... ...
src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
... ... @@ -21,6 +21,7 @@ public class JwtUser {
21 21 EXCEPTION
22 22 }
23 23  
  24 + private int userId;
24 25 private String userName;
25 26  
26 27 private String password;
... ... @@ -29,6 +30,14 @@ public class JwtUser {
29 30  
30 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 41 public String getUserName() {
33 42 return userName;
34 43 }
... ...
src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
1 1 package com.genersoft.iot.vmp.gb28181.conf;
2 2  
3 3 import gov.nist.core.StackLogger;
4   -import org.slf4j.Logger;
5 4 import org.slf4j.LoggerFactory;
  5 +import org.slf4j.spi.LocationAwareLogger;
6 6 import org.springframework.stereotype.Component;
7 7  
8 8 import java.util.Properties;
... ... @@ -10,100 +10,132 @@ import java.util.Properties;
10 10 @Component
11 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 4 <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
5 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 9 <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
10 10 <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
11 11 <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
... ...