diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index 237c056b0..f0091ee4d 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -32,28 +32,6 @@ - - - - com.plumelog - plumelog-lite-spring-boot-starter - 3.5.3 - - - plumelog-core - com.plumelog - - - - - - com.plumelog - plumelog-trace - 3.5.3 - - - - org.reflections reflections @@ -362,18 +340,23 @@ org.springframework.boot spring-boot-starter-websocket - - - - - - - - - - - - + + org.redisson + redisson-spring-boot-starter + 3.19.1 + + + spring-boot-starter-actuator + org.springframework.boot + + + + + com.esotericsoftware + kryo + 5.0.0-RC1 + + io.jsonwebtoken jjwt-api diff --git a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/AspectConfig.java b/lms/nladmin-system/src/main/java/org/nl/config/plumelog/AspectConfig.java deleted file mode 100644 index eefb0b13f..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/AspectConfig.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.nl.config.plumelog; - -import com.plumelog.trace.aspect.AbstractAspect; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.AfterThrowing; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.stereotype.Component; - -/** - * @Author: lyd - * @Description: 全局打点 需要自己定义切入点 (demo 如下 ) 当定义全局打点时,手动打点就会失效 - * @Date: 2023/1/29 - */ -@Aspect -@Component -public class AspectConfig extends AbstractAspect { - - //@Pointcut注解声明切点 - @Pointcut("within(org.nl..*) && !within(org.nl.modules.mnt.websocket.WebSocketServer)") - public void performance() { - } - @Around("performance()") - public Object around(JoinPoint joinPoint) throws Throwable { - return aroundExecute(joinPoint); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/InterceptorConfig.java b/lms/nladmin-system/src/main/java/org/nl/config/plumelog/InterceptorConfig.java deleted file mode 100644 index 01252a762..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/InterceptorConfig.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.nl.config.plumelog; - -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -/** - * @Author: lyd - * @Description: - * @Date: 2023/1/29 - */ -@Configuration -public class InterceptorConfig implements WebMvcConfigurer { - @Override - public void addInterceptors(InterceptorRegistry registry) { - // 自定义拦截器,添加拦截路径和排除拦截路径 - registry.addInterceptor(new PlumelogInterceptor()).addPathPatterns("/**"); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/PlumelogInterceptor.java b/lms/nladmin-system/src/main/java/org/nl/config/plumelog/PlumelogInterceptor.java deleted file mode 100644 index be66453da..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/config/plumelog/PlumelogInterceptor.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.nl.config.plumelog; - -import com.plumelog.core.TraceId; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.UUID; - -/** - * @Author: lyd - * @Description: - * @Date: 2023/1/29 - */ -@Configuration -public class PlumelogInterceptor implements HandlerInterceptor { - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - - //设置TraceID值,不埋此点链路ID就没有 - TraceId.logTraceID.set(UUID.randomUUID().toString().replaceAll("-", "")); - return true; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 8883ba120..c3015a9cc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -18,8 +18,8 @@ package org.nl.modules.logging.aspect; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; -import net.sf.json.JSONObject; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.AfterThrowing; @@ -42,7 +42,10 @@ import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.lang.reflect.Parameter; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author Zheng Jie @@ -76,7 +79,6 @@ public class LogAspect { */ @Around("logPointcut()") public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable { - String trackId = UUID.randomUUID().toString(); MethodSignature signature = (MethodSignature) joinPoint.getSignature(); Method method = signature.getMethod(); // 方法路径 @@ -87,51 +89,54 @@ public class LogAspect { //是否输出到日志文件 if (logInfo.isPrintToLogFile()) { - log.info("track_id:{},请求方法:{},请求方法参数:{}",trackId,methodName,params); + log.info("请求方法:{}", methodName); + log.info("请求方法参数:{}", params); } - HttpServletRequest request = RequestHolder.getHttpServletRequest(); - String requestIp = StringUtils.getIp(request); + + Object result; currentTime.set(System.currentTimeMillis()); - try { - result = joinPoint.proceed(); - //是否把日志存到日志表 - if (logInfo.isAddLogTable()) { - Log log = new Log("INFO", System.currentTimeMillis() - currentTime.get()); - currentTime.remove(); - logService.save(getUsername(), StringUtils.getBrowser(request), requestIp, joinPoint, log); - } - if (logInfo.isInterfaceLog()) { - try { - WQLObject interfaceLog = WQLObject.getWQLObject("sys_interface_log"); - JSONObject json = new JSONObject(); - json.put("log_id", IdUtil.getStringId()); - json.put("description", logInfo.value()); - json.put("log_type", logInfo.interfaceLogType().getDesc()); - json.put("log_level", "1"); - json.put("method", methodName); - json.put("params", getParameter(method, joinPoint.getArgs())); - json.put("request_ip", StringUtils.getIp(request)); - json.put("time", System.currentTimeMillis() - currentTime.get()); - json.put("username", getUsername()); - json.put("address", StringUtils.getCityInfo(requestIp)); - json.put("browser", StringUtils.getBrowser(request)); - json.put("exception_detail", IdUtil.getStringId()); - json.put("create_time", DateUtil.now()); - json.put("return_result", JSONObject.fromObject(result).getJSONObject("body")); - interfaceLog.insert(json); - } catch (Exception e) { + result = joinPoint.proceed(); - } - } - }catch (Exception ex){ - log.error("track_id:{},error:{}",trackId,ex.getMessage()); - Log log = new Log("ERROR", System.currentTimeMillis() - currentTime.get()); + HttpServletRequest request = RequestHolder.getHttpServletRequest(); + + String requestIp = StringUtils.getIp(request); + //是否把日志存到日志表 + if (logInfo.isAddLogTable()) { + Log log = new Log("INFO", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); - log.setExceptionDetail(ThrowableUtil.getStackTrace(ex).getBytes()); - logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); - throw ex; + + + logService.save(getUsername(), StringUtils.getBrowser(request), requestIp, joinPoint, log); } + + + //保存到接口日志表 + if (logInfo.isInterfaceLog()) { + try { + System.out.println("日志存储到接口日志表!"); + WQLObject interfaceLog = WQLObject.getWQLObject("sys_interface_log"); + JSONObject json = new JSONObject(); + json.put("log_id", IdUtil.getStringId()); + json.put("description", logInfo.value()); + json.put("log_type", logInfo.interfaceLogType().getDesc()); + json.put("log_level", "1"); + json.put("method", methodName); + json.put("params", getParameter(method, joinPoint.getArgs())); + json.put("request_ip", StringUtils.getIp(request)); + json.put("time", System.currentTimeMillis() - currentTime.get()); + json.put("username", getUsername()); + json.put("address", StringUtils.getCityInfo(requestIp)); + json.put("browser", StringUtils.getBrowser(request)); + json.put("exception_detail", IdUtil.getStringId()); + json.put("create_time", DateUtil.now()); + json.put("return_result", JSONObject.parse(result.toString())); + interfaceLog.insert(json); + } catch (Exception e) { + System.out.println("接口日志保存异常!"+e.getMessage()); + } + } + return result; } @@ -171,7 +176,7 @@ public class LogAspect { * @param joinPoint join point for advice * @param e exception */ -// @AfterThrowing(pointcut = "logPointcut()", throwing = "e") + @AfterThrowing(pointcut = "logPointcut()", throwing = "e") public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { Log log = new Log("ERROR", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); diff --git a/lms/nladmin-system/src/main/resources/config/application-dev.yml b/lms/nladmin-system/src/main/resources/config/application-dev.yml index 1b76b117c..7eaa6b8e7 100644 --- a/lms/nladmin-system/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-dev.yml @@ -6,12 +6,12 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:lz_lms_sso}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - # url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:nladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lms_test2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_tb_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # username: ${DB_USER:root} username: ${DB_USER:root} - password: ${DB_PWD:Root.123456} - # password: ${DB_PWD:12356} +# password: ${DB_PWD:123456} + password: ${DB_PWD:root} # 初始连接数 initial-size: 5 # 最小连接数 @@ -59,6 +59,16 @@ spring: host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} password: ${REDIS_PWD:} + redisson: + config: | + threads: 4 + nettyThreads: 4 + singleServerConfig: + connectionMinimumIdleSize: 8 + connectionPoolSize: 8 + address: redis://127.0.0.1:6379 + idleConnectionTimeout: 10000 + timeout: 3000 # 登录相关配置 login: diff --git a/lms/nladmin-system/src/main/resources/logback-spring.xml b/lms/nladmin-system/src/main/resources/logback-spring.xml index 0ded305e8..9dc706c77 100644 --- a/lms/nladmin-system/src/main/resources/logback-spring.xml +++ b/lms/nladmin-system/src/main/resources/logback-spring.xml @@ -56,26 +56,6 @@ https://juejin.cn/post/6844903775631572999 - - ${LOG_HOME}/%d{yyyy-MM-dd}.%i.error.log - - error - - - ${LOG_HOME}/%d{yyyy-MM-dd}.%i.error.log - true - 15 - 300MB - - 3 - - - - ${log.pattern} - ${log.charset} - - - 0 @@ -83,22 +63,11 @@ https://juejin.cn/post/6844903775631572999 - - lms - - /plumelog/lite - - 15 - sleuth - - - - @@ -144,56 +113,47 @@ https://juejin.cn/post/6844903775631572999 - - - - - - - - - - + - + - + - + - +