From 94edd958242fd68223c94b9b83a1f2fc1ff9fca4 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 13 十二月 2023 14:31:06 +0800
Subject: [PATCH] Merge pull request #1205 from xu-bin-bin/wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java |    1 
 src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java                |    1 
 src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java             |    9 ++
 src/main/resources/logback-spring.xml                                          |    4 
 src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java          |  176 ++++++++++++++++++++++++++------------------
 5 files changed, 117 insertions(+), 74 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java
index f35b5bd..f45f89a 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java
@@ -78,6 +78,7 @@
 
         // 鏋勫缓UsernamePasswordAuthenticationToken,杩欓噷瀵嗙爜涓簄ull锛屾槸鍥犱负鎻愪緵浜嗘纭殑JWT,瀹炵幇鑷姩鐧诲綍
         User user = new User();
+        user.setId(jwtUser.getUserId());
         user.setUsername(jwtUser.getUserName());
         user.setPassword(jwtUser.getPassword());
         Role role = new Role();
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
index 65e9de3..3df7593 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
@@ -144,6 +144,7 @@
             jwtUser.setUserName(username);
             jwtUser.setPassword(user.getPassword());
             jwtUser.setRoleId(user.getRole().getId());
+            jwtUser.setUserId(user.getId());
 
             return jwtUser;
         } catch (InvalidJwtException e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java b/src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
index 8921a30..df29c33 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
@@ -21,6 +21,7 @@
         EXCEPTION
     }
 
+    private int userId;
     private String userName;
 
     private String password;
@@ -29,6 +30,14 @@
 
     private TokenStatus status;
 
+    public int getUserId() {
+        return userId;
+    }
+
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
+
     public String getUserName() {
         return userName;
     }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
index 5e67bdb..bab0285 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
@@ -1,8 +1,8 @@
 package com.genersoft.iot.vmp.gb28181.conf;
 
 import gov.nist.core.StackLogger;
-import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.spi.LocationAwareLogger;
 import org.springframework.stereotype.Component;
 
 import java.util.Properties;
@@ -10,100 +10,132 @@
 @Component
 public class StackLoggerImpl implements StackLogger {
 
-    private final static Logger logger = LoggerFactory.getLogger(StackLoggerImpl.class);
+	/**
+	 * 瀹屽叏闄愬畾绫诲悕(Fully Qualified Class Name)锛岀敤浜庡畾浣嶆棩蹇椾綅缃�
+	 */
+	private static final String FQCN = StackLoggerImpl.class.getName();
 
-    @Override
-    public void logStackTrace() {
+	/**
+	 * 鑾峰彇鏍堜腑绫讳俊鎭�(浠ヤ究搴曞眰鏃ュ織璁板綍绯荤粺鑳藉鎻愬彇姝g‘鐨勪綅缃俊鎭�(鏂规硶鍚嶃�佽鍙�))
+	 * @return LocationAwareLogger
+	 */
+	private static LocationAwareLogger getLocationAwareLogger() {
+		return (LocationAwareLogger) LoggerFactory.getLogger(new Throwable().getStackTrace()[4].getClassName());
+	}
 
-    }
 
-    @Override
-    public void logStackTrace(int traceLevel) {
-        System.out.println("traceLevel: "  + traceLevel);
-    }
+	/**
+	 * 灏佽鎵撳嵃鏃ュ織鐨勪綅缃俊鎭�
+	 * @param level   鏃ュ織绾у埆
+	 * @param message 鏃ュ織浜嬩欢鐨勬秷鎭�
+	 */
+	private static void log(int level, String message) {
+		LocationAwareLogger locationAwareLogger = getLocationAwareLogger();
+		locationAwareLogger.log(null, FQCN, level, message, null, null);
+	}
 
-    @Override
-    public int getLineCount() {
-        return 0;
-    }
+	/**
+	 * 灏佽鎵撳嵃鏃ュ織鐨勪綅缃俊鎭�
+	 * @param level   鏃ュ織绾у埆
+	 * @param message 鏃ュ織浜嬩欢鐨勬秷鎭�
+	 */
+	private static void log(int level, String message, Throwable throwable) {
+		LocationAwareLogger locationAwareLogger = getLocationAwareLogger();
+		locationAwareLogger.log(null, FQCN, level, message, null, throwable);
+	}
 
-    @Override
-    public void logException(Throwable ex) {
+	@Override
+	public void logStackTrace() {
 
-    }
+	}
 
-    @Override
-    public void logDebug(String message) {
-//        logger.debug(message);
-    }
+	@Override
+	public void logStackTrace(int traceLevel) {
+		System.out.println("traceLevel: " + traceLevel);
+	}
 
-    @Override
-    public void logDebug(String message, Exception ex) {
-//        logger.debug(message);
-    }
+	@Override
+	public int getLineCount() {
+		return 0;
+	}
 
-    @Override
-    public void logTrace(String message) {
-        logger.trace(message);
-    }
+	@Override
+	public void logException(Throwable ex) {
 
-    @Override
-    public void logFatalError(String message) {
-//        logger.error(message);
-    }
+	}
 
-    @Override
-    public void logError(String message) {
-//        logger.error(message);
-    }
+	@Override
+	public void logDebug(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    @Override
-    public boolean isLoggingEnabled() {
-        return true;
-    }
+	@Override
+	public void logDebug(String message, Exception ex) {
+		log(LocationAwareLogger.INFO_INT, message, ex);
+	}
 
-    @Override
-    public boolean isLoggingEnabled(int logLevel) {
-        return true;
-    }
+	@Override
+	public void logTrace(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    @Override
-    public void logError(String message, Exception ex) {
-//        logger.error(message);
-    }
+	@Override
+	public void logFatalError(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    @Override
-    public void logWarning(String message) {
-        logger.warn(message);
-    }
+	@Override
+	public void logError(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    @Override
-    public void logInfo(String message) {
-        logger.info(message);
-    }
+	@Override
+	public boolean isLoggingEnabled() {
+		return true;
+	}
 
-    @Override
-    public void disableLogging() {
+	@Override
+	public boolean isLoggingEnabled(int logLevel) {
+		return true;
+	}
 
-    }
+	@Override
+	public void logError(String message, Exception ex) {
+		log(LocationAwareLogger.INFO_INT, message, ex);
+	}
 
-    @Override
-    public void enableLogging() {
+	@Override
+	public void logWarning(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    }
+	@Override
+	public void logInfo(String message) {
+		log(LocationAwareLogger.INFO_INT, message);
+	}
 
-    @Override
-    public void setBuildTimeStamp(String buildTimeStamp) {
+	@Override
+	public void disableLogging() {
 
-    }
+	}
 
-    @Override
-    public void setStackProperties(Properties stackProperties) {
+	@Override
+	public void enableLogging() {
 
-    }
+	}
 
-    @Override
-    public String getLoggerName() {
-        return null;
-    }
+	@Override
+	public void setBuildTimeStamp(String buildTimeStamp) {
+
+	}
+
+	@Override
+	public void setStackProperties(Properties stackProperties) {
+
+	}
+
+	@Override
+	public String getLoggerName() {
+		return null;
+	}
 }
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index 76b4ba3..04fa958 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -4,8 +4,8 @@
 	<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
 	<property name="LOG_HOME" value="logs" />
 
-	<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"/>
-
+	<substitutionProperty name="log.pattern"
+						  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"/>
 	<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
 	<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
 	<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>

--
Gitblit v1.8.0