Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f7f049d

Browse files
vysnicoll
authored andcommitted
Avoid using deprecated Log4J constructors
See gh-46372 Signed-off-by: Volkan Yazıcı <volkan@yazi.ci>
1 parent 8cf0d17 commit f7f049d

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

‎core/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/ExtendedWhitespaceThrowablePatternConverter.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.apache.logging.log4j.core.config.plugins.Plugin;
2222
import org.apache.logging.log4j.core.pattern.ConverterKeys;
2323
import org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter;
24+
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
2425
import org.apache.logging.log4j.core.pattern.PatternConverter;
2526
import org.apache.logging.log4j.core.pattern.ThrowablePatternConverter;
2627
import org.jspecify.annotations.Nullable;
@@ -35,25 +36,33 @@
3536
*/
3637
@Plugin(name = "ExtendedWhitespaceThrowablePatternConverter", category = PatternConverter.CATEGORY)
3738
@ConverterKeys({ "xwEx", "xwThrowable", "xwException" })
38-
public final class ExtendedWhitespaceThrowablePatternConverter extends ThrowablePatternConverter {
39+
public final class ExtendedWhitespaceThrowablePatternConverter extends LogEventPatternConverter {
3940

40-
private final ExtendedThrowablePatternConverter delegate;
41+
private final LogEventPatternConverter delegate;
42+
43+
private final String separator;
4144

4245
@SuppressWarnings("deprecation") // https://github.com/apache/logging-log4j2/issues/3809
4346
private ExtendedWhitespaceThrowablePatternConverter(Configuration configuration, @Nullable String[] options) {
44-
super("WhitespaceExtendedThrowable", "throwable", options, configuration);
47+
super("WhitespaceExtendedThrowable", "throwable");
4548
this.delegate = ExtendedThrowablePatternConverter.newInstance(configuration, options);
49+
this.separator = ((ExtendedThrowablePatternConverter) this.delegate).getOptions().getSeparator();
4650
}
4751

4852
@Override
4953
public void format(LogEvent event, StringBuilder buffer) {
5054
if (event.getThrown() != null) {
51-
buffer.append(this.options.getSeparator());
55+
buffer.append(this.separator);
5256
this.delegate.format(event, buffer);
53-
buffer.append(this.options.getSeparator());
57+
buffer.append(this.separator);
5458
}
5559
}
5660

61+
@Override
62+
public boolean handlesThrowable() {
63+
return true;
64+
}
65+
5766
/**
5867
* Creates a new instance of the class. Required by Log4J2.
5968
* @param configuration current configuration

‎core/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/WhitespaceThrowablePatternConverter.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import org.apache.logging.log4j.core.config.Configuration;
2121
import org.apache.logging.log4j.core.config.plugins.Plugin;
2222
import org.apache.logging.log4j.core.pattern.ConverterKeys;
23+
import org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter;
24+
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
2325
import org.apache.logging.log4j.core.pattern.PatternConverter;
2426
import org.apache.logging.log4j.core.pattern.ThrowablePatternConverter;
2527
import org.jspecify.annotations.Nullable;
@@ -33,22 +35,33 @@
3335
*/
3436
@Plugin(name = "WhitespaceThrowablePatternConverter", category = PatternConverter.CATEGORY)
3537
@ConverterKeys({ "wEx", "wThrowable", "wException" })
36-
public final class WhitespaceThrowablePatternConverter extends ThrowablePatternConverter {
38+
public final class WhitespaceThrowablePatternConverter extends LogEventPatternConverter {
39+
40+
private final LogEventPatternConverter delegate;
41+
42+
private final String separator;
3743

3844
@SuppressWarnings("deprecation") // https://github.com/apache/logging-log4j2/issues/3809
3945
private WhitespaceThrowablePatternConverter(Configuration configuration, @Nullable String[] options) {
40-
super("WhitespaceThrowable", "throwable", options, configuration);
46+
super("WhitespaceThrowable", "throwable");
47+
this.delegate = ExtendedThrowablePatternConverter.newInstance(configuration, options);
48+
this.separator = ((ExtendedThrowablePatternConverter) this.delegate).getOptions().getSeparator();
4149
}
4250

4351
@Override
4452
public void format(LogEvent event, StringBuilder buffer) {
4553
if (event.getThrown() != null) {
46-
buffer.append(this.options.getSeparator());
47-
super.format(event, buffer);
48-
buffer.append(this.options.getSeparator());
54+
buffer.append(this.separator);
55+
this.delegate.format(event, buffer);
56+
buffer.append(this.separator);
4957
}
5058
}
5159

60+
@Override
61+
public boolean handlesThrowable() {
62+
return true;
63+
}
64+
5265
/**
5366
* Creates a new instance of the class. Required by Log4J2.
5467
* @param configuration current configuration

‎core/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/ExtendedWhitespaceThrowablePatternConverterTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.apache.logging.log4j.core.LogEvent;
2020
import org.apache.logging.log4j.core.config.DefaultConfiguration;
2121
import org.apache.logging.log4j.core.impl.Log4jLogEvent;
22-
import org.apache.logging.log4j.core.pattern.ThrowablePatternConverter;
22+
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
2323
import org.junit.jupiter.api.Test;
2424

2525
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,7 +32,7 @@
3232
*/
3333
class ExtendedWhitespaceThrowablePatternConverterTests {
3434

35-
private final ThrowablePatternConverter converter = ExtendedWhitespaceThrowablePatternConverter
35+
private final LogEventPatternConverter converter = ExtendedWhitespaceThrowablePatternConverter
3636
.newInstance(new DefaultConfiguration(), new String[] {});
3737

3838
@Test

‎core/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/WhitespaceThrowablePatternConverterTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.apache.logging.log4j.core.LogEvent;
2020
import org.apache.logging.log4j.core.config.DefaultConfiguration;
2121
import org.apache.logging.log4j.core.impl.Log4jLogEvent;
22-
import org.apache.logging.log4j.core.pattern.ThrowablePatternConverter;
22+
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
2323
import org.junit.jupiter.api.Test;
2424

2525
import static org.assertj.core.api.Assertions.assertThat;
@@ -31,7 +31,7 @@
3131
*/
3232
class WhitespaceThrowablePatternConverterTests {
3333

34-
private final ThrowablePatternConverter converter = WhitespaceThrowablePatternConverter
34+
private final LogEventPatternConverter converter = WhitespaceThrowablePatternConverter
3535
.newInstance(new DefaultConfiguration(), new String[] {});
3636

3737
@Test

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /