mirror of
https://github.com/continew-org/continew-starter.git
synced 2025-09-09 08:57:17 +08:00
fix(log/httptrace-pro): 移除拦截 /error
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package top.charles7c.continew.starter.log.httptracepro.handler;
|
package top.charles7c.continew.starter.log.httptracepro.handler;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import com.alibaba.ttl.TransmittableThreadLocal;
|
import com.alibaba.ttl.TransmittableThreadLocal;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -24,6 +25,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.web.method.HandlerMethod;
|
import org.springframework.web.method.HandlerMethod;
|
||||||
import org.springframework.web.servlet.HandlerInterceptor;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
@@ -55,7 +57,7 @@ public class LogInterceptor implements HandlerInterceptor {
|
|||||||
public boolean preHandle(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response,
|
public boolean preHandle(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response,
|
||||||
@NonNull Object handler) {
|
@NonNull Object handler) {
|
||||||
Clock timestamp = Clock.systemUTC();
|
Clock timestamp = Clock.systemUTC();
|
||||||
if (this.isRequestRecord(handler)) {
|
if (this.isRequestRecord(handler, request)) {
|
||||||
if (Boolean.TRUE.equals(properties.getIsPrint())) {
|
if (Boolean.TRUE.equals(properties.getIsPrint())) {
|
||||||
log.info("[{}] {}", request.getMethod(), request.getRequestURI());
|
log.info("[{}] {}", request.getMethod(), request.getRequestURI());
|
||||||
}
|
}
|
||||||
@@ -142,12 +144,18 @@ public class LogInterceptor implements HandlerInterceptor {
|
|||||||
* 是否要记录日志
|
* 是否要记录日志
|
||||||
*
|
*
|
||||||
* @param handler 处理器
|
* @param handler 处理器
|
||||||
|
* @param request 请求对象
|
||||||
* @return true:需要记录;false:不需要记录
|
* @return true:需要记录;false:不需要记录
|
||||||
*/
|
*/
|
||||||
private boolean isRequestRecord(Object handler) {
|
private boolean isRequestRecord(Object handler, HttpServletRequest request) {
|
||||||
if (!(handler instanceof HandlerMethod handlerMethod)) {
|
if (!(handler instanceof HandlerMethod handlerMethod)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// 不拦截 /error
|
||||||
|
ServerProperties serverProperties = SpringUtil.getBean(ServerProperties.class);
|
||||||
|
if (request.getRequestURI().equals(serverProperties.getError().getPath())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// 如果接口被隐藏,不记录日志
|
// 如果接口被隐藏,不记录日志
|
||||||
Operation methodOperation = handlerMethod.getMethodAnnotation(Operation.class);
|
Operation methodOperation = handlerMethod.getMethodAnnotation(Operation.class);
|
||||||
if (null != methodOperation && methodOperation.hidden()) {
|
if (null != methodOperation && methodOperation.hidden()) {
|
||||||
|
Reference in New Issue
Block a user