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