mirror of
https://github.com/TheWhiteDog9487/WebAPI.git
synced 2026-08-11 23:01:30 +08:00
日志中增加请求ID,不会再分不清楚谁是谁了
需要systemd服务的大家,坚定守住,援兵很快就到
This commit is contained in:
@@ -18,7 +18,6 @@ public class LogClientInfo extends OncePerRequestFilter {
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
log.info("接收到对于{} {} 的请求", request.getMethod(), request.getRequestURL() + ( ( request.getQueryString() == null ) ? "" : "?" + request.getQueryString() ) );
|
||||
log.info("请求ID:{}", request.getRequestId());
|
||||
if ( request.getHeader("CF-Connecting-IP".toLowerCase() ) instanceof String IP ) {
|
||||
/*
|
||||
↑ 如果成功完成instanceof模式匹配,那么模式变量一定非空
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package xyz.thewhitedog9487.WebAPI.Controller.Filter;
|
||||
|
||||
import jakarta.servlet.FilterChain;
|
||||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@Component
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE)
|
||||
// ↑ 拉高优先级,确保在日志记录之前设置MDC,不然和没设置就没有区别了
|
||||
class SetMDCRequestID extends OncePerRequestFilter {
|
||||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
try {
|
||||
MDC.put("RequestID", request.getRequestId());
|
||||
filterChain.doFilter(request, response);
|
||||
} finally {
|
||||
// ↓ 防止内存泄漏
|
||||
MDC.remove("RequestID"); } } }
|
||||
@@ -5,4 +5,8 @@ spring:
|
||||
virtual:
|
||||
enabled: true
|
||||
server:
|
||||
port: 36987
|
||||
port: 36987
|
||||
logging:
|
||||
pattern:
|
||||
level: "%5p %X{RequestID}"
|
||||
# https://docs.spring.io/spring-boot/reference/features/logging.html#features.logging.custom-log-configuration
|
||||
Reference in New Issue
Block a user