use of org.apache.logging.log4j.core.LogEvent in project logging-log4j2 by apache.
the class RegexReplacementConverterTest method testReplacement.
@Test
public void testReplacement() {
ThreadContext.put("MyKey", "Apache");
final LogEvent event = //
Log4jLogEvent.newBuilder().setLoggerName(//
RegexReplacementConverterTest.class.getName()).setLevel(//
Level.DEBUG).setMessage(//
new SimpleMessage("This is a test")).build();
final StringBuilder sb = new StringBuilder();
final LoggerContext ctx = LoggerContext.getContext();
final String[] options = new String[] { "%logger %msg%n", "\\.", "/" };
final RegexReplacementConverter converter = RegexReplacementConverter.newInstance(ctx.getConfiguration(), options);
converter.format(event, sb);
assertEquals("org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest This is a test" + Strings.LINE_SEPARATOR, sb.toString());
}
use of org.apache.logging.log4j.core.LogEvent in project logging-log4j2 by apache.
the class RootThrowablePatternConverterTest method testSuffixWillIgnoreThrowablePattern.
@Test
public void testSuffixWillIgnoreThrowablePattern() {
final String suffix = "suffix(%xEx{suffix(inner suffix)})";
final String[] options = { suffix };
final RootThrowablePatternConverter converter = RootThrowablePatternConverter.newInstance(null, options);
final Throwable cause = new NullPointerException("null pointer");
final Throwable parent = new IllegalArgumentException("IllegalArgument", cause);
final LogEvent event = //
Log4jLogEvent.newBuilder().setLoggerName(//
"testLogger").setLoggerFqcn(//
this.getClass().getName()).setLevel(//
Level.DEBUG).setMessage(//
new SimpleMessage("test exception")).setThrown(parent).build();
final StringBuilder sb = new StringBuilder();
converter.format(event, sb);
final String result = sb.toString();
assertFalse("Has unexpected suffix", result.contains("inner suffix"));
}
use of org.apache.logging.log4j.core.LogEvent in project logging-log4j2 by apache.
the class RootThrowablePatternConverterTest method testFull2.
/**
* Sanity check for testFull1() above, makes sure that the way testFull1 is written matches actually throwing
* exceptions.
*/
@Test
public void testFull2() {
final RootThrowablePatternConverter converter = RootThrowablePatternConverter.newInstance(null, null);
Throwable parent;
try {
try {
throw new NullPointerException("null pointer");
} catch (final NullPointerException e) {
throw new IllegalArgumentException("IllegalArgument", e);
}
} catch (final IllegalArgumentException e) {
parent = e;
}
final LogEvent event = //
Log4jLogEvent.newBuilder().setLoggerName(//
"testLogger").setLoggerFqcn(//
this.getClass().getName()).setLevel(//
Level.DEBUG).setMessage(//
new SimpleMessage("test exception")).setThrown(parent).build();
final StringBuilder sb = new StringBuilder();
converter.format(event, sb);
final String result = sb.toString();
// System.out.print(result);
assertTrue("Missing Exception", result.contains("Wrapped by: java.lang.IllegalArgumentException: IllegalArgument"));
assertTrue("Incorrect start of msg", result.startsWith("java.lang.NullPointerException: null pointer"));
}
use of org.apache.logging.log4j.core.LogEvent in project logging-log4j2 by apache.
the class RootThrowablePatternConverterTest method testFull1.
@Test
public void testFull1() {
final RootThrowablePatternConverter converter = RootThrowablePatternConverter.newInstance(null, null);
final Throwable cause = new NullPointerException("null pointer");
final Throwable parent = new IllegalArgumentException("IllegalArgument", cause);
final LogEvent event = //
Log4jLogEvent.newBuilder().setLoggerName(//
"testLogger").setLoggerFqcn(//
this.getClass().getName()).setLevel(//
Level.DEBUG).setMessage(//
new SimpleMessage("test exception")).setThrown(parent).build();
final StringBuilder sb = new StringBuilder();
converter.format(event, sb);
final String result = sb.toString();
// System.out.print(result);
assertTrue("Missing Exception", result.contains("Wrapped by: java.lang.IllegalArgumentException: IllegalArgument"));
assertTrue("Incorrect start of msg", result.startsWith("java.lang.NullPointerException: null pointer"));
}
use of org.apache.logging.log4j.core.LogEvent in project logging-log4j2 by apache.
the class ThrowablePatternConverterTest method testFull.
@Test
public void testFull() {
final String[] options = { "full" };
final ThrowablePatternConverter converter = ThrowablePatternConverter.newInstance(null, options);
Throwable parent;
try {
try {
throw new NullPointerException("null pointer");
} catch (final NullPointerException e) {
throw new IllegalArgumentException("IllegalArgument", e);
}
} catch (final IllegalArgumentException e) {
parent = e;
}
final LogEvent event = //
Log4jLogEvent.newBuilder().setLoggerName(//
"testLogger").setLoggerFqcn(//
this.getClass().getName()).setLevel(//
Level.DEBUG).setMessage(//
new SimpleMessage("test exception")).setThrown(parent).build();
final StringBuilder sb = new StringBuilder();
converter.format(event, sb);
final String result = sb.toString();
// System.out.print(result);
assertTrue("Incorrect start of msg", result.startsWith("java.lang.IllegalArgumentException: IllegalArgument"));
assertTrue("Missing nested exception", result.contains("java.lang.NullPointerException: null pointer"));
}
Aggregations