From ecfbe9cf26a12dfc79029de44716efd13d286d41 Mon Sep 17 00:00:00 2001
From: wyl <959814898@qq.com>
Date: Mon, 14 Nov 2022 23:34:17 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20aos-web=20=E5=AE=8C=E5=96=84=20aos-log?=
=?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
aos-dependencies/pom.xml | 5 ++
aos-log/pom.xml | 10 ++++
.../com/aos/log/AosLogbackTTLMdcListener.java | 51 +++++++++++++++++++
.../aos/log/filter/AosRequestLogFilter.java | 9 ++--
aos-model-test/pom.xml | 8 +--
.../java/com/aos/test/web/TestController.java | 12 ++++-
aos-model-test/src/main/resources/logback.xml | 4 +-
7 files changed, 87 insertions(+), 12 deletions(-)
create mode 100644 aos-log/src/main/java/com/aos/log/AosLogbackTTLMdcListener.java
diff --git a/aos-dependencies/pom.xml b/aos-dependencies/pom.xml
index 2bd7812..44fb629 100644
--- a/aos-dependencies/pom.xml
+++ b/aos-dependencies/pom.xml
@@ -154,6 +154,11 @@
aos-swagger
1.0-SNAPSHOT
+
+ com.aos
+ aos-log
+ 1.0-SNAPSHOT
+
diff --git a/aos-log/pom.xml b/aos-log/pom.xml
index 257f175..cf0698d 100644
--- a/aos-log/pom.xml
+++ b/aos-log/pom.xml
@@ -19,6 +19,7 @@
org.apache.tomcat.embed
tomcat-embed-core
+ compile
cn.hutool
@@ -31,11 +32,20 @@
org.springframework.boot
spring-boot
+ compile
org.springframework.boot
spring-boot-autoconfigure
+
+ ch.qos.logback
+ logback-core
+
+
+ ch.qos.logback
+ logback-classic
+
diff --git a/aos-log/src/main/java/com/aos/log/AosLogbackTTLMdcListener.java b/aos-log/src/main/java/com/aos/log/AosLogbackTTLMdcListener.java
new file mode 100644
index 0000000..b388380
--- /dev/null
+++ b/aos-log/src/main/java/com/aos/log/AosLogbackTTLMdcListener.java
@@ -0,0 +1,51 @@
+package com.aos.log;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.spi.LoggerContextListener;
+import ch.qos.logback.core.spi.ContextAwareBase;
+import ch.qos.logback.core.spi.LifeCycle;
+import org.slf4j.AosLogLogbackTTLMdcAdapter;
+
+public class AosLogbackTTLMdcListener extends ContextAwareBase implements LoggerContextListener, LifeCycle {
+ @Override
+ public void start() {
+ AosLogLogbackTTLMdcAdapter.getInstance();
+ }
+
+ @Override
+ public void stop() {
+
+ }
+
+ @Override
+ public boolean isStarted() {
+ return false;
+ }
+
+ @Override
+ public boolean isResetResistant() {
+ return false;
+ }
+
+ @Override
+ public void onStart(LoggerContext loggerContext) {
+
+ }
+
+ @Override
+ public void onReset(LoggerContext loggerContext) {
+
+ }
+
+ @Override
+ public void onStop(LoggerContext loggerContext) {
+
+ }
+
+ @Override
+ public void onLevelChange(Logger logger, Level level) {
+
+ }
+}
diff --git a/aos-log/src/main/java/com/aos/log/filter/AosRequestLogFilter.java b/aos-log/src/main/java/com/aos/log/filter/AosRequestLogFilter.java
index d01ad59..e522f42 100644
--- a/aos-log/src/main/java/com/aos/log/filter/AosRequestLogFilter.java
+++ b/aos-log/src/main/java/com/aos/log/filter/AosRequestLogFilter.java
@@ -5,11 +5,9 @@ import com.aos.log.constant.LogConstant;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
import java.util.UUID;
/**
@@ -21,7 +19,7 @@ import java.util.UUID;
public class AosRequestLogFilter implements Filter {
@Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
try {
HttpServletRequest originalRequest = (HttpServletRequest) request;
String tracId = originalRequest.getHeader(LogConstant.TRACE_ID);
@@ -29,6 +27,7 @@ public class AosRequestLogFilter implements Filter {
tracId = UUID.randomUUID().toString();
}
MDC.put(LogConstant.TRACE_ID, tracId);
+ chain.doFilter(request, response);
} finally {
MDC.remove(LogConstant.TRACE_ID);
}
diff --git a/aos-model-test/pom.xml b/aos-model-test/pom.xml
index 66fbee1..62f0528 100644
--- a/aos-model-test/pom.xml
+++ b/aos-model-test/pom.xml
@@ -41,12 +41,14 @@
com.aos
aos-swagger
- 1.0-SNAPSHOT
com.aos
aos-web
- 1.0-SNAPSHOT
+
+
+ com.aos
+ aos-log
com.aos
@@ -56,13 +58,11 @@
com.aos
aos-mybatis-plus
- 1.0-SNAPSHOT
cn.hutool
hutool-all
5.8.9
- test
diff --git a/aos-model-test/src/main/java/com/aos/test/web/TestController.java b/aos-model-test/src/main/java/com/aos/test/web/TestController.java
index d1d8a2a..574c48b 100644
--- a/aos-model-test/src/main/java/com/aos/test/web/TestController.java
+++ b/aos-model-test/src/main/java/com/aos/test/web/TestController.java
@@ -1,23 +1,33 @@
package com.aos.test.web;
+import cn.hutool.core.thread.ThreadUtil;
+import com.alibaba.ttl.TtlRunnable;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
+import java.util.concurrent.ExecutorService;
@RestController
@RequestMapping("/test")
@Api(tags = "测试接口")
+@Slf4j
public class TestController {
+ static ExecutorService executorService = ThreadUtil.newExecutor(3);
@PostMapping("/test1")
@ApiOperation(value = "test1")
public void test1() {
-
+ TtlRunnable ttlRunnable = TtlRunnable.get(() -> {
+ log.info("23");
+ });
+ executorService.execute(ttlRunnable);
+ log.info("12");
}
@PostMapping("/test2")
diff --git a/aos-model-test/src/main/resources/logback.xml b/aos-model-test/src/main/resources/logback.xml
index 18344a4..e0a36a3 100644
--- a/aos-model-test/src/main/resources/logback.xml
+++ b/aos-model-test/src/main/resources/logback.xml
@@ -3,10 +3,10 @@
-
+
- %date{yyyy-MM-dd HH:mm:ss.SSS} java %-5level [%replace(%thread){'\s', '-'}] %logger{36} %X{trace.id:-TraceId} %msg%n
+ %date{yyyy-MM-dd HH:mm:ss.SSS} java %-5level [%replace(%thread){'\s', '-'}] %logger{36} %X{traceId:-TraceId} %msg%n
utf8