Repository: logging-log4j2 Updated Branches: refs/heads/master 2f612f40c -> 6f8ad1f0d
Sort methods. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/6f8ad1f0 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/6f8ad1f0 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/6f8ad1f0 Branch: refs/heads/master Commit: 6f8ad1f0da6471f9d70cf9ec2de971482fffd540 Parents: 2f612f4 Author: Gary Gregory <[email protected]> Authored: Thu Mar 26 13:48:34 2015 -0700 Committer: Gary Gregory <[email protected]> Committed: Thu Mar 26 13:48:34 2015 -0700 ---------------------------------------------------------------------- .../log4j/core/layout/PatternLayoutTest.java | 146 +++++++++---------- 1 file changed, 73 insertions(+), 73 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6f8ad1f0/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java index 0486d1e..8e4f0b8 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java @@ -59,15 +59,64 @@ public class PatternLayoutTest { ctx.reconfigure(); } + LoggerContext ctx = (LoggerContext) LogManager.getContext(); + + Logger root = ctx.getLogger(""); + @After public void after() { ThreadContext.clearMap(); } - LoggerContext ctx = (LoggerContext) LogManager.getContext(); + @Test + public void testHeaderFooterJavaLookup() throws Exception { + // % does not work here. + final String pattern = "%d{UNIX} MyApp%n${java:version}%n${java:runtime}%n${java:vm}%n${java:os}%n${java:hw}"; + final PatternLayout layout = PatternLayout.newBuilder().withConfiguration(ctx.getConfiguration()) + .withHeader(pattern).withFooter(pattern).build(); + final byte[] header = layout.getHeader(); + assertNotNull("No header", header); + final String headerStr = new String(header); + assertTrue(headerStr, headerStr.contains("Java version ")); + assertTrue(headerStr, headerStr.contains("(build ")); + assertTrue(headerStr, headerStr.contains(" from ")); + assertTrue(headerStr, headerStr.contains(" architecture: ")); + // + final byte[] footer = layout.getFooter(); + assertNotNull("No header", footer); + final String footerStr = new String(header); + assertTrue(footerStr, footerStr.contains("Java version ")); + assertTrue(footerStr, footerStr.contains("(build ")); + assertTrue(footerStr, footerStr.contains(" from ")); + assertTrue(footerStr, footerStr.contains(" architecture: ")); + } - Logger root = ctx.getLogger(""); + @Test + public void testHeaderFooterThreadContext() throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{UNIX} %m") + .withConfiguration(ctx.getConfiguration()).withHeader("${ctx:header}").withFooter("${ctx:footer}") + .build(); + ThreadContext.put("header", "Hello world Header"); + ThreadContext.put("footer", "Hello world Footer"); + final byte[] header = layout.getHeader(); + assertNotNull("No header", header); + assertTrue("expected \"Hello world Header\", actual " + Strings.dquote(new String(header)), + new String(header).equals(new String("Hello world Header"))); + } + + private void testMdcPattern(final String patternStr, final String expectedStr, final boolean useThreadContext) throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern(patternStr) + .withConfiguration(ctx.getConfiguration()).build(); + if (useThreadContext) { + ThreadContext.put("key1", "value1"); + ThreadContext.put("key2", "value2"); + } + final LogEvent event = new Log4jLogEvent(this.getClass().getName(), null, + "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello"), null); + final byte[] result = layout.toByteArray(event); + assertEquals(expectedStr, new String(result)); + } @Test public void testMdcPattern1() throws Exception { @@ -94,58 +143,56 @@ public class PatternLayoutTest { testMdcPattern("%m : %X{key1}, %X{key2}, %X{key3}", "Hello : value1, value2, ", true); } - private void testMdcPattern(final String patternStr, final String expectedStr, final boolean useThreadContext) throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern(patternStr) + @Test + public void testRegex() throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern(regexPattern) .withConfiguration(ctx.getConfiguration()).build(); - if (useThreadContext) { - ThreadContext.put("key1", "value1"); - ThreadContext.put("key2", "value2"); - } final LogEvent event = new Log4jLogEvent(this.getClass().getName(), null, - "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello"), null); + "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world!"), null); final byte[] result = layout.toByteArray(event); - assertEquals(expectedStr, new String(result)); + assertEquals("org/apache/logging/log4j/core/layout/PatternLayoutTest Hello, world!", new String(result)); } @Test - public void testRegex() throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern(regexPattern) + public void testSpecialChars() throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern("\\\\%level\\t%msg\\n\\t%logger\\r\\n\\f") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event = new Log4jLogEvent(this.getClass().getName(), null, "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world!"), null); final byte[] result = layout.toByteArray(event); - assertEquals("org/apache/logging/log4j/core/layout/PatternLayoutTest Hello, world!", new String(result)); + assertEquals("\\INFO\tHello, world!\n\torg.apache.logging.log4j.core.layout.PatternLayoutTest\r\n\f", + new String(result)); } - private void testUnixTime(final String pattern) throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern(pattern + " %m") + @Test + public void testUnixTime() throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{UNIX} %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = new Log4jLogEvent(this.getClass().getName(), null, "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world 1!"), null); final byte[] result1 = layout.toByteArray(event1); - assertEquals(event1.getTimeMillis() + " Hello, world 1!", new String(result1)); - // System.out.println("event1=" + event1.getMillis()); + assertEquals(event1.getTimeMillis() / 1000 + " Hello, world 1!", new String(result1)); + // System.out.println("event1=" + event1.getTimeMillis() / 1000); final LogEvent event2 = new Log4jLogEvent(this.getClass().getName(), null, "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world 2!"), null); final byte[] result2 = layout.toByteArray(event2); - assertEquals(event2.getTimeMillis() + " Hello, world 2!", new String(result2)); - // System.out.println("event2=" + event2.getMillis()); + assertEquals(event2.getTimeMillis() / 1000 + " Hello, world 2!", new String(result2)); + // System.out.println("event2=" + event2.getTimeMillis() / 1000); } - @Test - public void testUnixTime() throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{UNIX} %m") + private void testUnixTime(final String pattern) throws Exception { + final PatternLayout layout = PatternLayout.newBuilder().withPattern(pattern + " %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = new Log4jLogEvent(this.getClass().getName(), null, "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world 1!"), null); final byte[] result1 = layout.toByteArray(event1); - assertEquals(event1.getTimeMillis() / 1000 + " Hello, world 1!", new String(result1)); - // System.out.println("event1=" + event1.getTimeMillis() / 1000); + assertEquals(event1.getTimeMillis() + " Hello, world 1!", new String(result1)); + // System.out.println("event1=" + event1.getMillis()); final LogEvent event2 = new Log4jLogEvent(this.getClass().getName(), null, "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world 2!"), null); final byte[] result2 = layout.toByteArray(event2); - assertEquals(event2.getTimeMillis() / 1000 + " Hello, world 2!", new String(result2)); - // System.out.println("event2=" + event2.getTimeMillis() / 1000); + assertEquals(event2.getTimeMillis() + " Hello, world 2!", new String(result2)); + // System.out.println("event2=" + event2.getMillis()); } @Test @@ -165,53 +212,6 @@ public class PatternLayoutTest { } @Test - public void testHeaderFooterThreadContext() throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{UNIX} %m") - .withConfiguration(ctx.getConfiguration()).withHeader("${ctx:header}").withFooter("${ctx:footer}") - .build(); - ThreadContext.put("header", "Hello world Header"); - ThreadContext.put("footer", "Hello world Footer"); - final byte[] header = layout.getHeader(); - assertNotNull("No header", header); - assertTrue("expected \"Hello world Header\", actual " + Strings.dquote(new String(header)), - new String(header).equals(new String("Hello world Header"))); - } - - @Test - public void testHeaderFooterJavaLookup() throws Exception { - // % does not work here. - final String pattern = "%d{UNIX} MyApp%n${java:version}%n${java:runtime}%n${java:vm}%n${java:os}%n${java:hw}"; - final PatternLayout layout = PatternLayout.newBuilder().withConfiguration(ctx.getConfiguration()) - .withHeader(pattern).withFooter(pattern).build(); - final byte[] header = layout.getHeader(); - assertNotNull("No header", header); - final String headerStr = new String(header); - assertTrue(headerStr, headerStr.contains("Java version ")); - assertTrue(headerStr, headerStr.contains("(build ")); - assertTrue(headerStr, headerStr.contains(" from ")); - assertTrue(headerStr, headerStr.contains(" architecture: ")); - // - final byte[] footer = layout.getFooter(); - assertNotNull("No header", footer); - final String footerStr = new String(header); - assertTrue(footerStr, footerStr.contains("Java version ")); - assertTrue(footerStr, footerStr.contains("(build ")); - assertTrue(footerStr, footerStr.contains(" from ")); - assertTrue(footerStr, footerStr.contains(" architecture: ")); - } - - @Test - public void testSpecialChars() throws Exception { - final PatternLayout layout = PatternLayout.newBuilder().withPattern("\\\\%level\\t%msg\\n\\t%logger\\r\\n\\f") - .withConfiguration(ctx.getConfiguration()).build(); - final LogEvent event = new Log4jLogEvent(this.getClass().getName(), null, - "org.apache.logging.log4j.core.Logger", Level.INFO, new SimpleMessage("Hello, world!"), null); - final byte[] result = layout.toByteArray(event); - assertEquals("\\INFO\tHello, world!\n\torg.apache.logging.log4j.core.layout.PatternLayoutTest\r\n\f", - new String(result)); - } - - @Test public void testUsePlatformDefaultIfNoCharset() throws Exception { final PatternLayout layout = PatternLayout.newBuilder().withPattern("%m") .withConfiguration(ctx.getConfiguration()).build();
