mirror of
https://github.com/TheWhiteDog9487/WebAPI.git
synced 2026-08-11 23:01:30 +08:00
不对目标是SwaggerUI及其相关资源的请求记录响应体,以阻止数据库体积快速膨胀
This commit is contained in:
@@ -13,11 +13,17 @@ import xyz.thewhitedog9487.WebAPI.Data.Repository.AccessLogRepository;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class LogClientInfo implements Filter {
|
public class LogClientInfo implements Filter {
|
||||||
|
public static List<String> IgnorePaths = List.of(
|
||||||
|
"/favicon.ico",
|
||||||
|
"/swagger-ui",
|
||||||
|
"/v3/api-docs" );
|
||||||
|
|
||||||
@Autowired AccessLogRepository AccessLogRepository;
|
@Autowired AccessLogRepository AccessLogRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -49,7 +55,9 @@ public class LogClientInfo implements Filter {
|
|||||||
null );
|
null );
|
||||||
Log = AccessLogRepository.save(Log);
|
Log = AccessLogRepository.save(Log);
|
||||||
chain.doFilter(request, Response);
|
chain.doFilter(request, Response);
|
||||||
var ResponseBody = new String( Response.getContentAsByteArray(), Response.getCharacterEncoding() );
|
var ResponseBody = IgnorePaths.stream()
|
||||||
|
.anyMatch( path -> HttpServletRequest.getRequestURI().startsWith(path) )
|
||||||
|
? null : new String( Response.getContentAsByteArray(), Response.getCharacterEncoding() );
|
||||||
Log.setResponseStatusCode(HttpServletResponse.getStatus());
|
Log.setResponseStatusCode(HttpServletResponse.getStatus());
|
||||||
Log.setResponseBody(ResponseBody);
|
Log.setResponseBody(ResponseBody);
|
||||||
AccessLogRepository.save(Log);
|
AccessLogRepository.save(Log);
|
||||||
|
|||||||
Reference in New Issue
Block a user