Make it easy to run from a command line with 'mvn -Dtest=FQCN test' Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1d6d31ab Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1d6d31ab Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1d6d31ab
Branch: refs/heads/LOG4J-1181 Commit: 1d6d31ab579a36c2e79c44fabcbc51e38435c7fa Parents: 8c22b37 Author: ggregory <ggreg...@apache.org> Authored: Wed Jun 15 22:36:42 2016 -0700 Committer: ggregory <ggreg...@apache.org> Committed: Wed Jun 15 22:36:42 2016 -0700 ---------------------------------------------------------------------- .../ConsoleAppenderAnsiStyleLayoutMain.java | 40 ++++++++++++++------ 1 file changed, 29 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1d6d31ab/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java index 1952b37..860bf43 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderAnsiStyleLayoutMain.java @@ -22,6 +22,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configurator; +import org.junit.Test; /** * Shows how to use ANSI escape codes to color messages. Each message is printed to the console in color, but the rest @@ -29,27 +30,44 @@ import org.apache.logging.log4j.core.config.Configurator; * <p> * Running from a Windows command line from the root of the project: * </p> - * + * + * <pre> + * mvn -Dtest=org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleLayoutMain test + * </pre> + * or: * <pre> * java -classpath log4j-core\target\test-classes;log4j-core\target\classes;log4j-api\target\classes;%HOME%\.m2\repository\org\fusesource\jansi\jansi\1.11\jansi-1.11.jar; org.apache.logging.log4j.core.appender.ConsoleAppenderAnsiStyleLayoutMain log4j-core/target/test-classes/log4j2-console-style-ansi.xml * </pre> + * */ public class ConsoleAppenderAnsiStyleLayoutMain { - private static final Logger LOG = LogManager.getLogger(ConsoleAppenderAnsiStyleLayoutMain.class); - public static void main(final String[] args) { + new ConsoleAppenderAnsiStyleLayoutMain().test(args); + } + + /** + * This is a @Test method to make it easy to run from a command line with {@code mvn -Dtest=FQCN test} + */ + @Test + public void test() { + test(null); + } + + public void test(final String[] args) { // System.out.println(System.getProperty("java.class.path")); - final String config = args.length == 0 ? "target/test-classes/log4j2-console-style-ansi.xml" : args[0]; + final String config = args == null || args.length == 0 ? "target/test-classes/log4j2-console-style-ansi.xml" + : args[0]; final LoggerContext ctx = Configurator.initialize(ConsoleAppenderAnsiMessagesMain.class.getName(), config); + final Logger logger = LogManager.getLogger(ConsoleAppenderAnsiStyleLayoutMain.class); try { - LOG.fatal("Fatal message."); - LOG.error("Error message."); - LOG.warn("Warning message."); - LOG.info("Information message."); - LOG.debug("Debug message."); - LOG.trace("Trace message."); - LOG.error("Error message.", new IOException("test")); + logger.fatal("Fatal message."); + logger.error("Error message."); + logger.warn("Warning message."); + logger.info("Information message."); + logger.debug("Debug message."); + logger.trace("Trace message."); + logger.error("Error message.", new IOException("test")); } finally { Configurator.shutdown(ctx); }