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

This commit is contained in:
YunaiV 2022-04-04 00:09:47 +08:00
parent a426384d41
commit 0547671c9e
2 changed files with 14 additions and 18 deletions

View File

@ -2,21 +2,18 @@ package cn.iocoder.yudao.framework.apilog.core.filter;
import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil; import cn.hutool.extra.servlet.ServletUtil;
import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService; import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService;
import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiAccessLogCreateReqDTO; import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiAccessLogCreateReqDTO;
import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
import cn.iocoder.yudao.framework.web.config.WebProperties; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
import lombok.RequiredArgsConstructor; import cn.iocoder.yudao.framework.web.config.WebProperties;
import cn.iocoder.yudao.framework.web.core.filter.ApiRequestFilter;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain; import javax.servlet.FilterChain;
import javax.servlet.ServletException; import javax.servlet.ServletException;
@ -26,27 +23,24 @@ import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.*; import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
/** /**
* API 访问日志 Filter * API 访问日志 Filter
* *
* @author 芋道源码 * @author 芋道源码
*/ */
@RequiredArgsConstructor
@Slf4j @Slf4j
public class ApiAccessLogFilter extends OncePerRequestFilter { public class ApiAccessLogFilter extends ApiRequestFilter {
private final WebProperties webProperties;
private final String applicationName; private final String applicationName;
private final ApiAccessLogFrameworkService apiAccessLogFrameworkService; private final ApiAccessLogFrameworkService apiAccessLogFrameworkService;
@Override public ApiAccessLogFilter(WebProperties webProperties, String applicationName, ApiAccessLogFrameworkService apiAccessLogFrameworkService) {
protected boolean shouldNotFilter(HttpServletRequest request) { super(webProperties);
// 只过滤 API 请求的地址 this.applicationName = applicationName;
return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAppApi().getPrefix(), this.apiAccessLogFrameworkService = apiAccessLogFrameworkService;
webProperties.getAppApi().getPrefix());
} }
@Override @Override

View File

@ -23,6 +23,8 @@ spring:
# Cache 配置项 # Cache 配置项
cache: cache:
type: REDIS type: REDIS
redis:
time-to-live: 1h # 设置过期时间为 1 小时
# 工作流 Activiti 配置 # 工作流 Activiti 配置
activiti: activiti: