Skip to content

Commit 22f9b3a

Browse files
committed
Add comments to warning suppressions and small fixes
1 parent 457369b commit 22f9b3a

File tree

11 files changed

+43
-17
lines changed

11 files changed

+43
-17
lines changed

log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
* @since 2.6
3131
*/
3232
@PerformanceSensitive("allocation")
33+
/*
34+
* https://errorprone.info/bugpattern/ThreadLocalUsage
35+
* Instance thread locals are not a problem here, since this class is almost a singleton.
36+
*/
3337
@SuppressWarnings("ThreadLocalUsage")
3438
public final class ReusableMessageFactory implements MessageFactory2, Serializable {
3539

@@ -127,43 +131,43 @@ public Message newMessage(final String message, final Object p0, final Object p1
127131

128132
@Override
129133
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2,
130-
final Object p3) {
134+
final Object p3) {
131135
return getParameterized().set(message, p0, p1, p2, p3);
132136
}
133137

134138
@Override
135139
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
136-
final Object p4) {
140+
final Object p4) {
137141
return getParameterized().set(message, p0, p1, p2, p3, p4);
138142
}
139143

140144
@Override
141145
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
142-
final Object p4, final Object p5) {
146+
final Object p4, final Object p5) {
143147
return getParameterized().set(message, p0, p1, p2, p3, p4, p5);
144148
}
145149

146150
@Override
147151
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
148-
final Object p4, final Object p5, final Object p6) {
152+
final Object p4, final Object p5, final Object p6) {
149153
return getParameterized().set(message, p0, p1, p2, p3, p4, p5, p6);
150154
}
151155

152156
@Override
153157
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
154-
final Object p4, final Object p5, final Object p6, final Object p7) {
158+
final Object p4, final Object p5, final Object p6, final Object p7) {
155159
return getParameterized().set(message, p0, p1, p2, p3, p4, p5, p6, p7);
156160
}
157161

158162
@Override
159163
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
160-
final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
164+
final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
161165
return getParameterized().set(message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
162166
}
163167

164168
@Override
165169
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
166-
final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) {
170+
final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) {
167171
return getParameterized().set(message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
168172
}
169173

log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.IOException;
2020
import java.io.ObjectInputStream;
2121
import java.io.ObjectOutputStream;
22+
import java.util.Objects;
2223

2324
import org.apache.logging.log4j.util.StringBuilderFormattable;
2425

@@ -100,7 +101,13 @@ public boolean equals(final Object o) {
100101

101102
final SimpleMessage that = (SimpleMessage) o;
102103

103-
return !(charSequence != null ? !charSequence.equals(that.charSequence) : that.charSequence != null);
104+
/*
105+
* https://errorprone.info/bugpattern/UndefinedEquals
106+
*
107+
* If the char sequences are different, we fall back on string comparison.
108+
*/
109+
return Objects.equals(this.charSequence, that.charSequence)
110+
|| Objects.equals(this.getFormattedMessage(), that.getFormattedMessage());
104111
}
105112

106113
@Override

log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@ public String getFormattedStatus() {
144144
sb.append(SPACE);
145145
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
146146
t.printStackTrace(new PrintStream(baos));
147+
/*
148+
* https://errorprone.info/bugpattern/DefaultCharset
149+
*
150+
* Since Java 9 we'll be able to provide a charset.
151+
*/
147152
sb.append(baos.toString());
148153
}
149154
return sb.toString();

log4j-api/src/main/java/org/apache/logging/log4j/util/LowLevelLogUtil.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@
3232
*/
3333
final class LowLevelLogUtil {
3434

35+
/*
36+
* https://errorprone.info/bugpattern/DefaultCharset
37+
*
38+
* We intentionally use the system encoding.
39+
*/
3540
@SuppressWarnings("DefaultCharset")
3641
private static PrintWriter writer = new PrintWriter(System.err, true);
3742

@@ -69,6 +74,11 @@ public static void logException(final String message, final Throwable exception)
6974
*/
7075
@SuppressWarnings("DefaultCharset")
7176
public static void setOutputStream(final OutputStream out) {
77+
/*
78+
* https://errorprone.info/bugpattern/DefaultCharset
79+
*
80+
* We intentionally use the system encoding.
81+
*/
7282
LowLevelLogUtil.writer = new PrintWriter(Objects.requireNonNull(out), true);
7383
}
7484

log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,10 @@ private enum TimeUnit {
653653
HOURS("h,hour,hours", ChronoUnit.HOURS),
654654
DAYS("d,day,days", ChronoUnit.DAYS);
655655

656-
// descriptions is effectively immutable
656+
/*
657+
* https://errorprone.info/bugpattern/ImmutableEnumChecker
658+
* This field is effectively immutable.
659+
*/
657660
@SuppressWarnings("ImmutableEnumChecker")
658661
private final String[] descriptions;
659662
private final ChronoUnit timeUnit;

log4j-api/src/main/java/org/apache/logging/log4j/util/Unbox.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ public class Unbox {
6262
* Such memory leaks will not occur if only JDK classes are stored in ThreadLocals.
6363
* </p>
6464
*/
65+
/*
66+
* https://errorprone.info/bugpattern/ThreadLocalUsage
67+
* Instance thread locals are not a problem here, since this class is a singleton.
68+
*/
6569
@SuppressWarnings("ThreadLocalUsage")
6670
private static class WebSafeState {
6771
private final ThreadLocal<StringBuilder[]> ringBuffer = new ThreadLocal<>();

log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import org.apache.logging.log4j.Level;
2020
import org.apache.logging.log4j.Logger;
21-
import org.apache.logging.log4j.core.util.Loader;
2221
import org.apache.logging.log4j.status.StatusLogger;
2322
import org.apache.logging.log4j.util.LoaderUtil;
2423
import org.apache.logging.log4j.util.PropertiesUtil;

log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfig.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
2424
import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
2525
import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required;
26-
import org.apache.logging.log4j.core.util.Loader;
2726
import org.apache.logging.log4j.status.StatusLogger;
2827
import org.apache.logging.log4j.util.LoaderUtil;
2928

log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.logging.log4j.Logger;
2525
import org.apache.logging.log4j.core.util.Constants;
2626
import org.apache.logging.log4j.core.util.Integers;
27-
import org.apache.logging.log4j.core.util.Loader;
2827
import org.apache.logging.log4j.status.StatusLogger;
2928
import org.apache.logging.log4j.util.LoaderUtil;
3029
import org.apache.logging.log4j.util.PropertiesUtil;

log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,9 @@
5151
import org.apache.logging.log4j.core.lookup.StrSubstitutor;
5252
import org.apache.logging.log4j.core.util.Booleans;
5353
import org.apache.logging.log4j.core.util.Constants;
54-
import org.apache.logging.log4j.core.util.Loader;
5554
import org.apache.logging.log4j.message.Message;
5655
import org.apache.logging.log4j.util.LoaderUtil;
5756
import org.apache.logging.log4j.util.PerformanceSensitive;
58-
import org.apache.logging.log4j.util.PropertiesUtil;
5957
import org.apache.logging.log4j.util.StackLocatorUtil;
6058
import org.apache.logging.log4j.util.Strings;
6159

0 commit comments

Comments
 (0)