/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1, final Object p2) { return new SimpleMessage(message); }
/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) { return new SimpleMessage(message); } }
@Override public void run() { event1[0] = callCreateEvent(factory, "a", Level.DEBUG, new SimpleMessage("abc"), null); } };
@Override public void run() { event2[0] = callCreateEvent(factory, "b", Level.INFO, new SimpleMessage("xyz"), null); } };
@Test public void testNoErrorIfLogAfterShutdown() throws Exception { final Logger log = LogManager.getLogger("com.foo.Bar"); final String msg = "Async logger msg"; log.info(msg, new InternalError("this is not a real error")); CoreLoggerContexts.stopLoggerContext(); // stop async thread // call the #logMessage() method to bypass the isEnabled check: // before the LOG4J2-639 fix this would throw a NPE ((AbstractLogger) log).logMessage("com.foo.Bar", Level.INFO, null, new SimpleMessage("msg"), null); }
@Test public void testNoErrorIfLogAfterShutdown() throws Exception { final Logger log = LogManager.getLogger("com.foo.Bar"); log.info("some message"); CoreLoggerContexts.stopLoggerContext(); // stop async thread // call the #logMessage() method to bypass the isEnabled check: // before the LOG4J2-639 fix this would throw a NPE ((AbstractLogger) log).logMessage("com.foo.Bar", Level.INFO, null, new SimpleMessage("msg"), null); } }
private static Log4jLogEvent createLogEvent() { return Log4jLogEvent.newBuilder() .setLoggerName(KafkaAppenderTest.class.getName()) .setLoggerFqcn(KafkaAppenderTest.class.getName()) .setLevel(Level.INFO) .setMessage(new SimpleMessage(LOG_MESSAGE)) .build(); }
@Test public void testCreateEventReturnsSameInstance() throws Exception { final ReusableLogEventFactory factory = new ReusableLogEventFactory(); final LogEvent event1 = callCreateEvent(factory, "a", Level.DEBUG, new SimpleMessage("abc"), null); ReusableLogEventFactory.release(event1); final LogEvent event2 = callCreateEvent(factory, "b", Level.INFO, new SimpleMessage("xyz"), null); assertSame(event1, event2); ReusableLogEventFactory.release(event2); final LogEvent event3 = callCreateEvent(factory, "c", Level.INFO, new SimpleMessage("123"), null); assertSame(event2, event3); ReusableLogEventFactory.release(event3); }
@Test public void testCreateEventReturnsDifferentInstanceIfNotReleased() throws Exception { final ReusableLogEventFactory factory = new ReusableLogEventFactory(); final LogEvent event1 = callCreateEvent(factory, "a", Level.DEBUG, new SimpleMessage("abc"), null); final LogEvent event2 = callCreateEvent(factory, "b", Level.INFO, new SimpleMessage("xyz"), null); assertNotSame(event1, event2); ReusableLogEventFactory.release(event1); ReusableLogEventFactory.release(event2); }
private static Log4jLogEvent createLogEvent() { return Log4jLogEvent.newBuilder() .setLoggerName(HttpAppenderTest.class.getName()) .setLoggerFqcn(HttpAppenderTest.class.getName()) .setLevel(Level.INFO) .setMessage(new SimpleMessage(LOG_MESSAGE)) .build(); }
private static Log4jLogEvent createLogEvent() { return Log4jLogEvent.newBuilder() .setLoggerName(JmsAppenderTest.class.getName()) .setLoggerFqcn(JmsAppenderTest.class.getName()) .setLevel(Level.INFO) .setMessage(new SimpleMessage(LOG_MESSAGE)) .build(); }
@Test public void testUnderMaxLength() throws Exception { final Message message = new SimpleMessage("0123456789"); final LogEvent event = Log4jLogEvent.newBuilder() .setLoggerName("MyLogger") .setLevel(Level.DEBUG) .setMessage(message) .build(); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); assertEquals("0123456789", sb.toString()); }
@Test public void testAnsiEmpty() { final String[] options = {"", PatternParser.NO_CONSOLE_NO_ANSI + "=false, " + PatternParser.DISABLE_ANSI + "=false"}; final HighlightConverter converter = HighlightConverter.newInstance(null, options); final LogEvent event = Log4jLogEvent.newBuilder().setLevel(Level.INFO).setLoggerName("a.b.c").setMessage( new SimpleMessage("message in a bottle")).build(); final StringBuilder buffer = new StringBuilder(); converter.format(event, buffer); assertEquals("", buffer.toString()); }
@Test public void testOverMaxLength21WithEllipsis() throws Exception { final Message message = new SimpleMessage("012345678901234567890123456789"); final LogEvent event = Log4jLogEvent.newBuilder() .setLoggerName("MyLogger") .setLevel(Level.DEBUG) .setMessage(message) .build(); final StringBuilder sb = new StringBuilder(); MaxLengthConverter.newInstance(null, new String[]{"%m", "21"}).format(event, sb); assertEquals("012345678901234567890...", sb.toString()); } }
@Test public void testNoAnsiEmpty() { final String[] options = {"", PatternParser.DISABLE_ANSI + "=true"}; final HighlightConverter converter = HighlightConverter.newInstance(null, options); final LogEvent event = Log4jLogEvent.newBuilder().setLevel(Level.INFO).setLoggerName("a.b.c").setMessage( new SimpleMessage("message in a bottle")).build(); final StringBuilder buffer = new StringBuilder(); converter.format(event, buffer); assertEquals("", buffer.toString()); }
@Test public void testNoAnsiNonEmpty() { final String[] options = {"%-5level: %msg", PatternParser.DISABLE_ANSI + "=true"}; final HighlightConverter converter = HighlightConverter.newInstance(null, options); final LogEvent event = Log4jLogEvent.newBuilder().setLevel(Level.INFO).setLoggerName("a.b.c").setMessage( new SimpleMessage("message in a bottle")).build(); final StringBuilder buffer = new StringBuilder(); converter.format(event, buffer); assertEquals("INFO : message in a bottle", buffer.toString()); } }
@Test public void testLookupEventNonExistant() { final LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName(this.getClass().getName()) // .setLoggerFqcn("org.apache.logging.log4j.core.Logger") // .setLevel(Level.INFO) // .setMessage(new SimpleMessage("Hello, world!")).build(); final String value = strLookup.lookup(event, ABSENT_MARKER_NAME); assertNull(value); }
@Test public void testLookupEventNonExistantKey() { final Marker marker = MarkerManager.getMarker(markerName); final LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName(this.getClass().getName()) // .setMarker(marker) // .setLoggerFqcn("org.apache.logging.log4j.core.Logger") // .setLevel(Level.INFO) // .setMessage(new SimpleMessage("Hello, world!")).build(); final String value = strLookup.lookup(event, ABSENT_MARKER_NAME); assertEquals(markerName, value); }
@Test public void testLookupEventExistant() { final Marker marker = MarkerManager.getMarker(markerName); final LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName(this.getClass().getName()) // .setMarker(marker) // .setLoggerFqcn("org.apache.logging.log4j.core.Logger") // .setLevel(Level.INFO) // .setMessage(new SimpleMessage("Hello, world!")).build(); final String value = strLookup.lookup(event, marker.getName()); assertEquals(markerName, value); }
@Test public void testRegex() throws Exception { final PatternLayout layout = PatternLayout.newBuilder().withPattern(regexPattern) .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger") // .setLevel(Level.INFO) // .setMessage(new SimpleMessage("Hello, world!")).build(); assertToByteArray("org/apache/logging/log4j/core/layout/PatternLayoutTest Hello, world!", layout, event); assertEncode("org/apache/logging/log4j/core/layout/PatternLayoutTest Hello, world!", layout, event); }