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.time.Instant;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class LogClientInfo implements Filter {
|
||||
public static List<String> IgnorePaths = List.of(
|
||||
"/favicon.ico",
|
||||
"/swagger-ui",
|
||||
"/v3/api-docs" );
|
||||
|
||||
@Autowired AccessLogRepository AccessLogRepository;
|
||||
|
||||
@Override
|
||||
@@ -49,7 +55,9 @@ public class LogClientInfo implements Filter {
|
||||
null );
|
||||
Log = AccessLogRepository.save(Log);
|
||||
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.setResponseBody(ResponseBody);
|
||||
AccessLogRepository.save(Log);
|
||||
|
||||
Reference in New Issue
Block a user