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 b14948b

Browse files
committed
Avoid using deprecated Log4j exception converter ctors
Signed-off-by: Volkan Yazıcı <volkan@yazi.ci>
1 parent 04d0710 commit b14948b

File tree

4 files changed

+47
-14
lines changed

4 files changed

+47
-14
lines changed

‎spring-boot-project/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

@@ -34,24 +35,32 @@
3435
*/
3536
@Plugin(name = "ExtendedWhitespaceThrowablePatternConverter", category = PatternConverter.CATEGORY)
3637
@ConverterKeys({ "xwEx", "xwThrowable", "xwException" })
37-
public final class ExtendedWhitespaceThrowablePatternConverter extends ThrowablePatternConverter {
38+
public final class ExtendedWhitespaceThrowablePatternConverter extends LogEventPatternConverter {
3839

39-
private final ExtendedThrowablePatternConverter delegate;
40+
private final LogEventPatternConverter delegate;
41+
42+
private final String separator;
4043

4144
private ExtendedWhitespaceThrowablePatternConverter(Configuration configuration, String[] options) {
42-
super("WhitespaceExtendedThrowable", "throwable", options, configuration);
45+
super("WhitespaceExtendedThrowable", "throwable");
4346
this.delegate = ExtendedThrowablePatternConverter.newInstance(configuration, options);
47+
this.separator = WhitespaceThrowablePatternConverter.readSeparatorOption(options);
4448
}
4549

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

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

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

Lines changed: 29 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

@@ -32,21 +34,43 @@
3234
*/
3335
@Plugin(name = "WhitespaceThrowablePatternConverter", category = PatternConverter.CATEGORY)
3436
@ConverterKeys({ "wEx", "wThrowable", "wException" })
35-
public final class WhitespaceThrowablePatternConverter extends ThrowablePatternConverter {
37+
public final class WhitespaceThrowablePatternConverter extends LogEventPatternConverter {
38+
39+
private final LogEventPatternConverter delegate;
40+
41+
private final String separator;
3642

3743
private WhitespaceThrowablePatternConverter(Configuration configuration, String[] options) {
38-
super("WhitespaceThrowable", "throwable", options, configuration);
44+
super("WhitespaceThrowable", "throwable");
45+
this.delegate = ExtendedThrowablePatternConverter.newInstance(configuration, options);
46+
this.separator = readSeparatorOption(options);
47+
}
48+
49+
static String readSeparatorOption(String[] options) {
50+
if (options != null) {
51+
for (String option : options) {
52+
if (option != null && option.startsWith("separator(") && option.endsWith(")")) {
53+
return option.substring("separator(".length(), option.length() - 1);
54+
}
55+
}
56+
}
57+
return System.lineSeparator();
3958
}
4059

4160
@Override
4261
public void format(LogEvent event, StringBuilder buffer) {
4362
if (event.getThrown() != null) {
44-
buffer.append(this.options.getSeparator());
45-
super.format(event, buffer);
46-
buffer.append(this.options.getSeparator());
63+
buffer.append(this.separator);
64+
this.delegate.format(event, buffer);
65+
buffer.append(this.separator);
4766
}
4867
}
4968

69+
@Override
70+
public boolean handlesThrowable() {
71+
return true;
72+
}
73+
5074
/**
5175
* Creates a new instance of the class. Required by Log4J2.
5276
* @param configuration current configuration

‎spring-boot-project/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

‎spring-boot-project/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 によって変換されたページ (->オリジナル) /