mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-09-03 04:26:12 +08:00
Merge pull request #34749 from Abhijeetmishr
* pr/34749: Polish "Add support for additional colors in Log4j2 and Logback" Add support for additional colors in Log4j2 and Logback Closes gh-34749
This commit is contained in:
commit
1fd68aeb46
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
* Copyright 2012-2023 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.
|
||||
@ -53,6 +53,8 @@ public final class ColorConverter extends LogEventPatternConverter {
|
||||
|
||||
static {
|
||||
Map<String, AnsiElement> ansiElements = new HashMap<>();
|
||||
ansiElements.put("black", AnsiColor.BLACK);
|
||||
ansiElements.put("white", AnsiColor.WHITE);
|
||||
ansiElements.put("faint", AnsiStyle.FAINT);
|
||||
ansiElements.put("red", AnsiColor.RED);
|
||||
ansiElements.put("green", AnsiColor.GREEN);
|
||||
@ -60,6 +62,14 @@ public final class ColorConverter extends LogEventPatternConverter {
|
||||
ansiElements.put("blue", AnsiColor.BLUE);
|
||||
ansiElements.put("magenta", AnsiColor.MAGENTA);
|
||||
ansiElements.put("cyan", AnsiColor.CYAN);
|
||||
ansiElements.put("bright_black", AnsiColor.BRIGHT_BLACK);
|
||||
ansiElements.put("bright_white", AnsiColor.BRIGHT_WHITE);
|
||||
ansiElements.put("bright_red", AnsiColor.BRIGHT_RED);
|
||||
ansiElements.put("bright_green", AnsiColor.BRIGHT_GREEN);
|
||||
ansiElements.put("bright_yellow", AnsiColor.BRIGHT_YELLOW);
|
||||
ansiElements.put("bright_blue", AnsiColor.BRIGHT_BLUE);
|
||||
ansiElements.put("bright_magenta", AnsiColor.BRIGHT_MAGENTA);
|
||||
ansiElements.put("bright_cyan", AnsiColor.BRIGHT_CYAN);
|
||||
ELEMENTS = Collections.unmodifiableMap(ansiElements);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
* Copyright 2012-2023 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.
|
||||
@ -43,6 +43,8 @@ public class ColorConverter extends CompositeConverter<ILoggingEvent> {
|
||||
|
||||
static {
|
||||
Map<String, AnsiElement> ansiElements = new HashMap<>();
|
||||
ansiElements.put("black", AnsiColor.BLACK);
|
||||
ansiElements.put("white", AnsiColor.WHITE);
|
||||
ansiElements.put("faint", AnsiStyle.FAINT);
|
||||
ansiElements.put("red", AnsiColor.RED);
|
||||
ansiElements.put("green", AnsiColor.GREEN);
|
||||
@ -50,6 +52,14 @@ public class ColorConverter extends CompositeConverter<ILoggingEvent> {
|
||||
ansiElements.put("blue", AnsiColor.BLUE);
|
||||
ansiElements.put("magenta", AnsiColor.MAGENTA);
|
||||
ansiElements.put("cyan", AnsiColor.CYAN);
|
||||
ansiElements.put("bright_black", AnsiColor.BRIGHT_BLACK);
|
||||
ansiElements.put("bright_white", AnsiColor.BRIGHT_WHITE);
|
||||
ansiElements.put("bright_red", AnsiColor.BRIGHT_RED);
|
||||
ansiElements.put("bright_green", AnsiColor.BRIGHT_GREEN);
|
||||
ansiElements.put("bright_yellow", AnsiColor.BRIGHT_YELLOW);
|
||||
ansiElements.put("bright_blue", AnsiColor.BRIGHT_BLUE);
|
||||
ansiElements.put("bright_magenta", AnsiColor.BRIGHT_MAGENTA);
|
||||
ansiElements.put("bright_cyan", AnsiColor.BRIGHT_CYAN);
|
||||
ELEMENTS = Collections.unmodifiableMap(ansiElements);
|
||||
}
|
||||
|
||||
|
@ -57,6 +57,20 @@ class ColorConverterTests {
|
||||
return ColorConverter.newInstance(null, new String[] { this.in, styling });
|
||||
}
|
||||
|
||||
@Test
|
||||
void black() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("black").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[30min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void white() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("white").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[37min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void faint() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
@ -106,6 +120,62 @@ class ColorConverterTests {
|
||||
assertThat(output).hasToString("\033[36min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightBlack() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_black").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[90min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightWhite() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_white").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[97min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightRed() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_red").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[91min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightGreen() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_green").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[92min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightYellow() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_yellow").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[93min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightBlue() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_blue").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[94min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightMagenta() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_magenta").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[95min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightCyan() {
|
||||
StringBuilder output = new StringBuilder();
|
||||
newConverter("bright_cyan").format(this.event, output);
|
||||
assertThat(output).hasToString("\033[96min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void highlightFatal() {
|
||||
this.event.setLevel(Level.FATAL);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
* Copyright 2012-2023 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.
|
||||
@ -51,6 +51,20 @@ class ColorConverterTests {
|
||||
AnsiOutput.setEnabled(AnsiOutput.Enabled.DETECT);
|
||||
}
|
||||
|
||||
@Test
|
||||
void black() {
|
||||
this.converter.setOptionList(Collections.singletonList("black"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[30min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void white() {
|
||||
this.converter.setOptionList(Collections.singletonList("white"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[37min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void faint() {
|
||||
this.converter.setOptionList(Collections.singletonList("faint"));
|
||||
@ -100,6 +114,62 @@ class ColorConverterTests {
|
||||
assertThat(out).isEqualTo("\033[36min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightBlack() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_black"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[90min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightWhite() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_white"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[97min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightRed() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_red"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[91min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightGreen() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_green"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[92min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightYellow() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_yellow"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[93min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightBlue() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_blue"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[94min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightMagenta() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_magenta"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[95min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void brightCyan() {
|
||||
this.converter.setOptionList(Collections.singletonList("bright_cyan"));
|
||||
String out = this.converter.transform(this.event, this.in);
|
||||
assertThat(out).isEqualTo("\033[96min\033[0;39m");
|
||||
}
|
||||
|
||||
@Test
|
||||
void highlightError() {
|
||||
this.event.setLevel(Level.ERROR);
|
||||
|
Loading…
Reference in New Issue
Block a user