add trace log for websocket packet tracing (#2638)

Co-authored-by: zhanghaoxin-at-826767166263 <COk6iTbDdOqj/yq53u9n9vPTy+3pmZNcm4mKOhImudI=>
This commit is contained in:
HashJang
2023-01-12 18:35:33 +00:00
committed by GitHub
parent c6c813a112
commit 2b7f3ef255

View File

@@ -209,10 +209,20 @@ public class WebsocketRoutingFilter implements GlobalFilter, Ordered {
.flatMap(proxySession::close);
// Use retain() for Reactor Netty
Mono<Void> proxySessionSend = proxySession
.send(session.receive().doOnNext(WebSocketMessage::retain));
.send(session.receive().doOnNext(WebSocketMessage::retain)
.doOnNext(webSocketMessage -> {
if (log.isTraceEnabled()) {
log.trace("proxySession(send from client): " + proxySession.getId() + ", corresponding session:" + session.getId() + ", packet: " + webSocketMessage.getPayloadAsText());
}
}));
// .log("proxySessionSend", Level.FINE);
Mono<Void> serverSessionSend = session
.send(proxySession.receive().doOnNext(WebSocketMessage::retain));
.send(proxySession.receive().doOnNext(WebSocketMessage::retain)
.doOnNext(webSocketMessage -> {
if (log.isTraceEnabled()) {
log.trace("session(send from backend): " + session.getId() + ", corresponding proxySession:" + proxySession.getId() + " packet: " + webSocketMessage.getPayloadAsText());
}
}));
// .log("sessionSend", Level.FINE);
// Ensure closeStatus from one propagates to the other
Mono.when(serverClose, proxyClose).subscribe();