修改日志打印

This commit is contained in:
2025-07-09 02:48:23 +08:00
parent 6839df91ea
commit ed65a1f617

View File

@ -55,7 +55,8 @@ public class LoggingGlobalFilter implements GlobalFilter, Ordered {
private static class CustomExchange extends ServerWebExchangeDecorator implements CustomExchangeInterface { private static class CustomExchange extends ServerWebExchangeDecorator implements CustomExchangeInterface {
private final StringBuilder requestBody = new StringBuilder(); private final StringBuilder requestBody = new StringBuilder();
private final StringBuilder responseBody = new StringBuilder(); private String responseBody;
public CustomExchange(ServerWebExchange delegate) { public CustomExchange(ServerWebExchange delegate) {
super(delegate); super(delegate);
@ -81,21 +82,22 @@ public class LoggingGlobalFilter implements GlobalFilter, Ordered {
@Override @Override
public ServerHttpResponse getResponse() { public ServerHttpResponse getResponse() {
return new ServerHttpResponseDecorator(super.getResponse()) { return new ServerHttpResponseDecorator(super.getResponse()) {
private final StringBuilder responseBodyBuilder = new StringBuilder();
@Override @Override
public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) { public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
if (body instanceof Flux) { if (body instanceof Flux) {
Flux<? extends DataBuffer> fluxBody = Flux.from(body); return super.writeWith(Flux.from(body)
return super.writeWith(fluxBody
.doOnNext(buffer -> { .doOnNext(buffer -> {
byte[] content = new byte[buffer.readableByteCount()]; DataBufferUtils.join(Flux.just(buffer))
buffer.read(content); .map(dataBuffer -> {
String responseStr = new String(content, StandardCharsets.UTF_8); byte[] content = new byte[dataBuffer.readableByteCount()];
responseBody.append(responseStr); dataBuffer.read(content);
DataBufferUtils.release(buffer); String bodyStr = new String(content, StandardCharsets.UTF_8);
}) responseBody = bodyStr;
.doOnComplete(() -> { return dataBuffer;
// 响应流完成后再赋值,确保完整性 })
log.debug("✅ 完整响应内容: {}", responseBody.toString()); .subscribe();
})); }));
} }
return super.writeWith(body); return super.writeWith(body);
@ -110,7 +112,7 @@ public class LoggingGlobalFilter implements GlobalFilter, Ordered {
@Override @Override
public String getResponseBody() { public String getResponseBody() {
return responseBody.toString(); return responseBody;
} }
} }