修改日志打印

This commit is contained in:
2025-07-09 02:15:08 +08:00
parent e0b30994ad
commit b18e963a10

View File

@ -54,7 +54,7 @@ public class LoggingGlobalFilter implements GlobalFilter, Ordered {
private static class CustomExchange extends ServerWebExchangeDecorator implements CustomExchangeInterface {
private final StringBuilder requestBody = new StringBuilder();
private final StringBuilder responseBody = new StringBuilder();
private StringBuilder responseBody = new StringBuilder();
public CustomExchange(ServerWebExchange delegate) {
super(delegate);
@ -80,23 +80,23 @@ public class LoggingGlobalFilter implements GlobalFilter, Ordered {
@Override
public ServerHttpResponse getResponse() {
return new ServerHttpResponseDecorator(super.getResponse()) {
private final StringBuilder responseBodyBuilder = new StringBuilder();
@Override
public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
if (body instanceof Flux) {
Flux<? extends DataBuffer> fluxBody = (Flux<? extends DataBuffer>) body;
return super.writeWith(fluxBody.map(buffer -> {
byte[] content = new byte[buffer.readableByteCount()];
buffer.read(content);
DataBufferUtils.release(buffer);
String responseStr = new String(content, StandardCharsets.UTF_8);
responseBody.append(responseStr);
return buffer.factory().wrap(content);
}));
return super.writeWith(Flux.from(body).doOnNext(this::cacheResponseData));
}
return super.writeWith(body);
}
private void cacheResponseData(DataBuffer buffer) {
byte[] content = new byte[buffer.readableByteCount()];
buffer.read(content);
responseBodyBuilder.append(new String(content, StandardCharsets.UTF_8));
responseBody = responseBodyBuilder;
DataBufferUtils.release(buffer); // 释放原始 buffer
}
};
}