diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java index 3b8bb8ad704..6c0ac9374e0 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -218,9 +218,18 @@ public abstract class AbstractServerHttpRequest implements ServerHttpRequest { */ String getLogPrefix() { if (this.logPrefix == null) { - this.logPrefix = "[" + getId() + "] "; + this.logPrefix = "[" + initLogPrefix() + "] "; } return this.logPrefix; } + /** + * Subclasses can override this to provide the prefix to use for log messages. + *
By default, this is {@link #getId()}. + * @since 5.3.15 + */ + protected String initLogPrefix() { + return getId(); + } + } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java index 35db4de36c8..72cdc1f9fc2 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -77,7 +77,7 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest { private static URI initUri(HttpServerRequest request) throws URISyntaxException { Assert.notNull(request, "HttpServerRequest must not be null"); - return new URI(resolveBaseUrl(request).toString() + resolveRequestUri(request)); + return new URI(resolveBaseUrl(request) + resolveRequestUri(request)); } private static URI resolveBaseUrl(HttpServerRequest request) throws URISyntaxException { @@ -197,9 +197,6 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest { @Override @Nullable protected String initId() { - if (reactorNettyRequestChannelOperationsIdPresent) { - return (ChannelOperationsIdHelper.getId(this.request)); - } if (this.request instanceof Connection) { return ((Connection) this.request).channel().id().asShortText() + "-" + logPrefixIndex.incrementAndGet(); @@ -207,6 +204,21 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest { return null; } + @Override + protected String initLogPrefix() { + if (reactorNettyRequestChannelOperationsIdPresent) { + String id = (ChannelOperationsIdHelper.getId(this.request)); + if (id != null) { + return id; + } + } + if (this.request instanceof Connection) { + return ((Connection) this.request).channel().id().asShortText() + + "-" + logPrefixIndex.incrementAndGet(); + } + return getId(); + } + private static class ChannelOperationsIdHelper {