Skip to content

Commit 713ec50

Browse files
authored
Remove JANSI dependency (#2916)
This commit: - Removes support for the outdated [Jansi 1.x](http://fusesource.github.io/jansi/) version in `Console` appender. - Rewrites `JAnsiTextRenderer`, use in the `%m{ansi}` and `%ex{ansi}` pattern converters to use our internal ANSI support instead of Jansi. Fixes #1736.
1 parent 878962e commit 713ec50

File tree

46 files changed

+531
-897
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+531
-897
lines changed

log4j-core-test/pom.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,6 @@
182182
<optional>true</optional>
183183
</dependency>
184184

185-
<!-- Required for console color support in Windows -->
186-
<dependency>
187-
<groupId>org.fusesource.jansi</groupId>
188-
<artifactId>jansi</artifactId>
189-
<optional>true</optional>
190-
</dependency>
191-
192185
<dependency>
193186
<groupId>org.junit.jupiter</groupId>
194187
<artifactId>junit-jupiter-engine</artifactId>

log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/TestConstants.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ private TestConstants() {}
6767

6868
public static final String CONFIGURATION_USE_PRECISE_CLOCK = CONFIGURATION + "usePreciseClock";
6969

70-
public static final String CONSOLE_JANSI_ENABLED = "log4j.console.jansiEnabled";
71-
7270
private static final String GC = "log4j.gc.";
7371

7472
public static final String GC_ENABLE_DIRECT_ENCODERS = GC + "enableDirectEncoders";

log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/categories/Layouts.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,4 @@
2121
*/
2222
public interface Layouts {
2323
interface Csv {}
24-
25-
interface Jansi {}
2624
}

log4j-core-test/src/main/resources/Log4j-config.xsd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -696,15 +696,15 @@
696696
<annotation>
697697
<documentation>
698698
Write directly to java.io.FileDescriptor and bypass java.lang.System.out/.err. Can give up to 10x performance boost when the
699-
output is redirected to file or other process. Cannot be used with Jansi on Windows. Cannot be used with follow.
699+
output is redirected to file or other process. Cannot be used with follow.
700700
</documentation>
701701
</annotation>
702702
</attribute>
703703
<attribute name="follow" type="tns:BooleanType">
704704
<annotation>
705705
<documentation>
706706
Identifies whether the appender honors reassignments of System.out or System.err via System.setOut or System.setErr made after
707-
configuration. Note that the follow attribute cannot be used with Jansi on Windows. Cannot be used with direct.
707+
configuration. Cannot be used with direct.
708708
</documentation>
709709
</annotation>
710710
</attribute>

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiMessagesMain.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,15 @@
3030
* </p>
3131
*
3232
* <pre>
33-
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.14\jansi-1.14.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiMessagesMain log4j-core/target/test-classes/log4j2-console.xml
33+
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiMessagesMain log4j-core/target/test-classes/log4j2-console.xml
3434
* </pre>
3535
*/
3636
public class ConsoleAppenderAnsiMessagesMain {
3737

3838
private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiMessagesMain.class);
3939

4040
public static void main(final String[] args) {
41-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
42-
try (final LoggerContext ctx = Configurator.initialize(
41+
try (final LoggerContext ignored = Configurator.initialize(
4342
ConsoleAppenderAnsiMessagesMain.class.getName(), "target/test-classes/log4j2-console.xml")) {
4443
LOG.fatal("\u001b[1;35mFatal message.\u001b[0m");
4544
LOG.error("\u001b[1;31mError message.\u001b[0m");

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleJira180Main.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,22 @@
2323
import org.apache.logging.log4j.core.config.Configurator;
2424

2525
/**
26-
* Tests https://issues.apache.org/jira/browse/LOG4J2-180
26+
* Tests <a href="https://issues.apache.org/jira/browse/LOG4J2-180">LOG4J2-180</a>
2727
* <p>
2828
* Running from a Windows command line from the root of the project:
2929
* </p>
3030
*
3131
* <pre>
32-
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.14\jansi-1.14.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira180Main log4j-core/target/test-classes/log4j2-180.xml
32+
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira180Main log4j-core/target/test-classes/log4j2-180.xml
3333
* </pre>
3434
*/
3535
public class ConsoleAppenderAnsiStyleJira180Main {
3636

3737
private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiStyleJira180Main.class);
3838

3939
public static void main(final String[] args) {
40-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
41-
// System.out.println(System.getProperty("java.class.path"));
4240
final String config = args.length == 0 ? "target/test-classes/log4j2-180.xml" : args[0];
43-
try (final LoggerContext ctx =
41+
try (final LoggerContext ignored =
4442
Configurator.initialize(ConsoleAppenderAnsiMessagesMain.class.getName(), config)) {
4543
LOG.fatal("Fatal message.");
4644
LOG.error("Error message.");

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleJira272Main.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,21 @@
2323
import org.apache.logging.log4j.core.config.Configurator;
2424

2525
/**
26-
* Tests https://issues.apache.org/jira/browse/LOG4J2-272
26+
* Tests <a href="https://issues.apache.org/jira/browse/LOG4J2-272">LOG4J2-272</a>
2727
* <p>
2828
* Running from a Windows command line from the root of the project:
2929
* </p>
3030
* <pre>
31-
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.14\jansi-1.14.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira272Main log4j-core/target/test-classes/log4j2-272.xml
31+
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira272Main log4j-core/target/test-classes/log4j2-272.xml
3232
* </pre>
3333
*/
3434
public class ConsoleAppenderAnsiStyleJira272Main {
3535

3636
private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiStyleJira272Main.class);
3737

3838
public static void main(final String[] args) {
39-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
40-
// System.out.println(System.getProperty("java.class.path"));
4139
final String config = args.length == 0 ? "target/test-classes/log4j2-272.xml" : args[0];
42-
try (final LoggerContext ctx =
40+
try (final LoggerContext ignored =
4341
Configurator.initialize(ConsoleAppenderAnsiMessagesMain.class.getName(), config)) {
4442
LOG.fatal("Fatal message.");
4543
LOG.error("Error message.");

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleJira319Main.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,22 @@
2323
import org.apache.logging.log4j.core.config.Configurator;
2424

2525
/**
26-
* Tests https://issues.apache.org/jira/browse/LOG4J2-319
26+
* Tests <a href="https://issues.apache.org/jira/browse/LOG4J2-319">LOG4J2-319</a>
2727
* <p>
2828
* Running from a Windows command line from the root of the project:
2929
* </p>
3030
*
3131
* <pre>
32-
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.14\jansi-1.14.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira319Main log4j-core/target/test-classes/log4j2-319.xml
32+
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleJira319Main log4j-core/target/test-classes/log4j2-319.xml
3333
* </pre>
3434
*/
3535
public class ConsoleAppenderAnsiStyleJira319Main {
3636

3737
private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiStyleJira319Main.class);
3838

3939
public static void main(final String[] args) {
40-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
41-
// System.out.println(System.getProperty("java.class.path"));
4240
final String config = args.length == 0 ? "target/test-classes/log4j2-319.xml" : args[0];
43-
try (final LoggerContext ctx =
41+
try (final LoggerContext ignored =
4442
Configurator.initialize(ConsoleAppenderAnsiMessagesMain.class.getName(), config)) {
4543
LOG.fatal("Fatal message.");
4644
LOG.error("Error message.");

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* </pre>
3636
* or:
3737
* <pre>
38-
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.14\jansi-1.14.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleLayoutMain log4j-core/target/test-classes/log4j2-console-style-ansi.xml
38+
* java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleLayoutMain log4j-core/target/test-classes/log4j2-console-style-ansi.xml
3939
* </pre>
4040
*
4141
*/
@@ -54,11 +54,9 @@ public void test() {
5454
}
5555

5656
public void test(final String[] args) {
57-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
58-
// System.out.println(System.getProperty("java.class.path"));
5957
final String config =
6058
args == null || args.length == 0 ? "target/test-classes/log4j2-console-style-ansi.xml" : args[0];
61-
try (final LoggerContext ctx =
59+
try (final LoggerContext ignored =
6260
Configurator.initialize(ConsoleAppenderAnsiMessagesMain.class.getName(), config)) {
6361
final Logger logger = LogManager.getLogger(ConsoleAppenderAnsiStyleLayoutMain.class);
6462
logger.fatal("Fatal message.");

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleNameLayoutMain.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ public class ConsoleAppenderAnsiStyleNameLayoutMain {
3131
private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiStyleNameLayoutMain.class);
3232

3333
public static void main(final String[] args) {
34-
System.setProperty("log4j.skipJansi", "false"); // LOG4J2-2087: explicitly enable
35-
try (final LoggerContext ctx = Configurator.initialize(
34+
try (final LoggerContext ignored = Configurator.initialize(
3635
ConsoleAppenderAnsiMessagesMain.class.getName(),
3736
"target/test-classes/log4j2-console-style-name-ansi.xml")) {
3837
LOG.fatal("Fatal message.");

0 commit comments

Comments
 (0)