|
15 | 15 | */
|
16 | 16 | package org.owasp.esapi.reference;
|
17 | 17 |
|
18 |
| -import java.io.IOException; |
19 |
| -import java.io.StringWriter; |
20 |
| -import java.util.Arrays; |
21 |
| - |
22 | 18 | import junit.framework.Test;
|
23 | 19 | import junit.framework.TestCase;
|
24 | 20 | import junit.framework.TestSuite;
|
25 |
| - |
26 |
| -import org.apache.log4j.*; |
27 |
| -import org.apache.log4j.xml.XMLLayout; |
| 21 | +import org.apache.log4j.Appender; |
| 22 | +import org.apache.log4j.Layout; |
| 23 | +import org.apache.log4j.WriterAppender; |
| 24 | +import org.apache.log4j.spi.LoggingEvent; |
28 | 25 | import org.owasp.esapi.ESAPI;
|
29 | 26 | import org.owasp.esapi.Logger;
|
30 | 27 | import org.owasp.esapi.errors.AuthenticationException;
|
31 | 28 | import org.owasp.esapi.errors.ValidationException;
|
32 | 29 | import org.owasp.esapi.http.MockHttpServletRequest;
|
33 | 30 | import org.owasp.esapi.http.MockHttpServletResponse;
|
34 | 31 |
|
| 32 | +import java.io.IOException; |
| 33 | +import java.io.StringWriter; |
| 34 | +import java.util.Arrays; |
| 35 | + |
35 | 36 | /**
|
36 | 37 | * The Class LoggerTest.
|
37 | 38 | *
|
@@ -468,17 +469,30 @@ public void testAlways() {
|
468 | 469 | * Line number must be the line of the caller and not of the wrapper.
|
469 | 470 | */
|
470 | 471 | public void testLine() {
|
| 472 | + final String message = "testing only"; |
471 | 473 | StringWriter sw = new StringWriter();
|
472 |
| - Layout layout = new PatternLayout("%d{ISO8601}%5p [%t] %C:%L - %m%n"); |
| 474 | + Layout layout = new Layout() { |
| 475 | + @Override |
| 476 | + public String format(LoggingEvent event) { |
| 477 | + assertEquals("the calling class is this test class", Log4JLoggerTest.class.getName(),event.getLocationInformation().getClassName()); |
| 478 | + return message; |
| 479 | + } |
| 480 | + |
| 481 | + @Override |
| 482 | + public boolean ignoresThrowable() { |
| 483 | + return false; |
| 484 | + } |
| 485 | + |
| 486 | + @Override |
| 487 | + public void activateOptions() { |
| 488 | + |
| 489 | + } |
| 490 | + }; |
473 | 491 | Appender appender = new WriterAppender(layout, sw);
|
474 | 492 | log4JLogger.addAppender(appender);
|
475 | 493 | try {
|
476 | 494 | log4JLogger.fatal("testLine");
|
477 |
| - String generatedLine = sw.toString(); |
478 |
| - System.out.println("-> " + generatedLine + " <-"); |
479 |
| - assertTrue("generated line should not have the name of the wrapper class", |
480 |
| - // need to add the ":" sufix otherwise the test would also fail with this test class name |
481 |
| - !generatedLine.contains(Log4JLogger.class.getName()+":")); |
| 495 | + assertEquals("message not generated as expected", message, sw.toString()); |
482 | 496 | } finally {
|
483 | 497 | log4JLogger.removeAppender(appender);
|
484 | 498 | }
|
|
0 commit comments