Skip to content

Commit 1b63c31

Browse files
committed
Avoid creation of unnecessary logger instances in web request abstraction
Closes gh-25900
1 parent 37e35b3 commit 1b63c31

File tree

6 files changed

+14
-29
lines changed

6 files changed

+14
-29
lines changed

spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@
2222
import java.util.regex.Matcher;
2323
import java.util.regex.Pattern;
2424

25-
import org.apache.commons.logging.Log;
26-
2725
import org.springframework.http.HttpCookie;
2826
import org.springframework.http.HttpHeaders;
29-
import org.springframework.http.HttpLogging;
3027
import org.springframework.http.server.RequestPath;
3128
import org.springframework.lang.Nullable;
3229
import org.springframework.util.CollectionUtils;
@@ -46,8 +43,6 @@ public abstract class AbstractServerHttpRequest implements ServerHttpRequest {
4643
private static final Pattern QUERY_PATTERN = Pattern.compile("([^&=]+)(=?)([^&]+)?");
4744

4845

49-
protected final Log logger = HttpLogging.forLogName(getClass());
50-
5146
private final URI uri;
5247

5348
private final RequestPath path;
@@ -156,10 +151,7 @@ private String decodeQueryParam(String value) {
156151
return URLDecoder.decode(value, "UTF-8");
157152
}
158153
catch (UnsupportedEncodingException ex) {
159-
if (logger.isWarnEnabled()) {
160-
logger.warn(getLogPrefix() + "Could not decode query value [" + value + "] as 'UTF-8'. " +
161-
"Falling back on default encoding: " + ex.getMessage());
162-
}
154+
// Should never happen but we got a platform default fallback anyway.
163155
return URLDecoder.decode(value);
164156
}
165157
}

spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.concurrent.atomic.AtomicReference;
2222
import java.util.function.Supplier;
2323

24-
import org.apache.commons.logging.Log;
2524
import org.reactivestreams.Publisher;
2625
import reactor.core.publisher.Flux;
2726
import reactor.core.publisher.Mono;
@@ -31,7 +30,6 @@
3130
import org.springframework.core.io.buffer.DataBufferUtils;
3231
import org.springframework.core.io.buffer.PooledDataBuffer;
3332
import org.springframework.http.HttpHeaders;
34-
import org.springframework.http.HttpLogging;
3533
import org.springframework.http.HttpStatus;
3634
import org.springframework.http.ResponseCookie;
3735
import org.springframework.lang.Nullable;
@@ -59,8 +57,6 @@ public abstract class AbstractServerHttpResponse implements ServerHttpResponse {
5957
*/
6058
private enum State {NEW, COMMITTING, COMMIT_ACTION_FAILED, COMMITTED}
6159

62-
protected final Log logger = HttpLogging.forLogName(getClass());
63-
6460

6561
private final DataBufferFactory dataBufferFactory;
6662

spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -359,10 +359,7 @@ protected boolean write(DataBuffer dataBuffer) throws IOException {
359359
if (ready && remaining > 0) {
360360
// In case of IOException, onError handling should call discardData(DataBuffer)..
361361
int written = writeToOutputStream(dataBuffer);
362-
if (logger.isTraceEnabled()) {
363-
logger.trace(getLogPrefix() + "Wrote " + written + " of " + remaining + " bytes");
364-
}
365-
else if (rsWriteLogger.isTraceEnabled()) {
362+
if (rsWriteLogger.isTraceEnabled()) {
366363
rsWriteLogger.trace(getLogPrefix() + "Wrote " + written + " of " + remaining + " bytes");
367364
}
368365
if (written == remaining) {

spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,7 @@ protected boolean write(DataBuffer dataBuffer) throws IOException {
205205
int total = buffer.remaining();
206206
int written = writeByteBuffer(buffer);
207207

208-
if (logger.isTraceEnabled()) {
209-
logger.trace(getLogPrefix() + "Wrote " + written + " of " + total + " bytes");
210-
}
211-
else if (rsWriteLogger.isTraceEnabled()) {
208+
if (rsWriteLogger.isTraceEnabled()) {
212209
rsWriteLogger.trace(getLogPrefix() + "Wrote " + written + " of " + total + " bytes");
213210
}
214211
if (written != total) {

spring-web/src/main/java/org/springframework/web/method/HandlerMethod.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.springframework.core.annotation.AnnotatedElementUtils;
3636
import org.springframework.core.annotation.SynthesizingMethodParameter;
3737
import org.springframework.http.HttpStatus;
38+
import org.springframework.lang.NonNull;
3839
import org.springframework.lang.Nullable;
3940
import org.springframework.util.Assert;
4041
import org.springframework.util.ClassUtils;
@@ -62,7 +63,7 @@
6263
public class HandlerMethod {
6364

6465
/** Logger that is available to subclasses. */
65-
protected final Log logger = LogFactory.getLog(getClass());
66+
protected static final Log logger = LogFactory.getLog(HandlerMethod.class);
6667

6768
private final Object bean;
6869

@@ -473,6 +474,12 @@ protected HandlerMethodParameter(HandlerMethodParameter original) {
473474
super(original);
474475
}
475476

477+
@Override
478+
@NonNull
479+
public Method getMethod() {
480+
return HandlerMethod.this.bridgedMethod;
481+
}
482+
476483
@Override
477484
public Class<?> getContainingClass() {
478485
return HandlerMethod.this.getBeanType();

spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodReturnValueHandlerComposite.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2018 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,24 +20,20 @@
2020
import java.util.Collections;
2121
import java.util.List;
2222

23-
import org.apache.commons.logging.Log;
24-
import org.apache.commons.logging.LogFactory;
25-
2623
import org.springframework.core.MethodParameter;
2724
import org.springframework.lang.Nullable;
2825
import org.springframework.web.context.request.NativeWebRequest;
2926

3027
/**
31-
* Handles method return values by delegating to a list of registered {@link HandlerMethodReturnValueHandler HandlerMethodReturnValueHandlers}.
28+
* Handles method return values by delegating to a list of registered
29+
* {@link HandlerMethodReturnValueHandler HandlerMethodReturnValueHandlers}.
3230
* Previously resolved return types are cached for faster lookups.
3331
*
3432
* @author Rossen Stoyanchev
3533
* @since 3.1
3634
*/
3735
public class HandlerMethodReturnValueHandlerComposite implements HandlerMethodReturnValueHandler {
3836

39-
protected final Log logger = LogFactory.getLog(getClass());
40-
4137
private final List<HandlerMethodReturnValueHandler> returnValueHandlers = new ArrayList<>();
4238

4339

0 commit comments

Comments
 (0)