Commit 0547671c9e6d406ecf211845cd38df75824f407c

Authored by YunaiV
1 parent a426384d

修复 API 访问日志不记录的问题

yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/filter/ApiAccessLogFilter.java
@@ -2,21 +2,18 @@ package cn.iocoder.yudao.framework.apilog.core.filter; @@ -2,21 +2,18 @@ package cn.iocoder.yudao.framework.apilog.core.filter;
2 2
3 import cn.hutool.core.exceptions.ExceptionUtil; 3 import cn.hutool.core.exceptions.ExceptionUtil;
4 import cn.hutool.core.map.MapUtil; 4 import cn.hutool.core.map.MapUtil;
5 -import cn.hutool.core.util.StrUtil;  
6 import cn.hutool.extra.servlet.ServletUtil; 5 import cn.hutool.extra.servlet.ServletUtil;
7 -import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;  
8 -import cn.iocoder.yudao.framework.common.pojo.CommonResult;  
9 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService; 6 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService;
10 import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiAccessLogCreateReqDTO; 7 import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiAccessLogCreateReqDTO;
  8 +import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
  9 +import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  10 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
11 import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; 11 import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
  12 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
12 import cn.iocoder.yudao.framework.web.config.WebProperties; 13 import cn.iocoder.yudao.framework.web.config.WebProperties;
  14 +import cn.iocoder.yudao.framework.web.core.filter.ApiRequestFilter;
13 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; 15 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
14 -import cn.iocoder.yudao.framework.common.util.date.DateUtils;  
15 -import cn.iocoder.yudao.framework.common.util.json.JsonUtils;  
16 -import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;  
17 -import lombok.RequiredArgsConstructor;  
18 import lombok.extern.slf4j.Slf4j; 16 import lombok.extern.slf4j.Slf4j;
19 -import org.springframework.web.filter.OncePerRequestFilter;  
20 17
21 import javax.servlet.FilterChain; 18 import javax.servlet.FilterChain;
22 import javax.servlet.ServletException; 19 import javax.servlet.ServletException;
@@ -26,27 +23,24 @@ import java.io.IOException; @@ -26,27 +23,24 @@ import java.io.IOException;
26 import java.util.Date; 23 import java.util.Date;
27 import java.util.Map; 24 import java.util.Map;
28 25
29 -import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.*; 26 +import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
30 27
31 /** 28 /**
32 * API 访问日志 Filter 29 * API 访问日志 Filter
33 * 30 *
34 * @author 芋道源码 31 * @author 芋道源码
35 */ 32 */
36 -@RequiredArgsConstructor  
37 @Slf4j 33 @Slf4j
38 -public class ApiAccessLogFilter extends OncePerRequestFilter { 34 +public class ApiAccessLogFilter extends ApiRequestFilter {
39 35
40 - private final WebProperties webProperties;  
41 private final String applicationName; 36 private final String applicationName;
42 37
43 private final ApiAccessLogFrameworkService apiAccessLogFrameworkService; 38 private final ApiAccessLogFrameworkService apiAccessLogFrameworkService;
44 39
45 - @Override  
46 - protected boolean shouldNotFilter(HttpServletRequest request) {  
47 - // 只过滤 API 请求的地址  
48 - return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAppApi().getPrefix(),  
49 - webProperties.getAppApi().getPrefix()); 40 + public ApiAccessLogFilter(WebProperties webProperties, String applicationName, ApiAccessLogFrameworkService apiAccessLogFrameworkService) {
  41 + super(webProperties);
  42 + this.applicationName = applicationName;
  43 + this.apiAccessLogFrameworkService = apiAccessLogFrameworkService;
50 } 44 }
51 45
52 @Override 46 @Override
yudao-server/src/main/resources/application.yaml
@@ -23,6 +23,8 @@ spring: @@ -23,6 +23,8 @@ spring:
23 # Cache 配置项 23 # Cache 配置项
24 cache: 24 cache:
25 type: REDIS 25 type: REDIS
  26 + redis:
  27 + time-to-live: 1h # 设置过期时间为 1 小时
26 28
27 # 工作流 Activiti 配置 29 # 工作流 Activiti 配置
28 activiti: 30 activiti: