@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0, final Object p1, final Object p2) { if (isEnabled(level, marker, message, p0, p1, p2)) { logMessage(fqcn, level, marker, message, p0, p1, p2); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4) { if (isEnabled(level, marker, message, p0, p1, p2, p3, p4)) { logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, 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) { if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7)) { logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7); } }
@Override public void log(final Level level, final Marker marker, final CharSequence message, final Throwable t) { if (isEnabled(level, marker, message, t)) { logMessage(FQCN, level, marker, message, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final MessageSupplier msgSupplier, final Throwable t) { if (isEnabled(level, marker, msgSupplier, t)) { logMessage(fqcn, level, marker, msgSupplier, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Supplier<?> msgSupplier, final Throwable t) { if (isEnabled(level, marker, msgSupplier, t)) { logMessage(fqcn, level, marker, msgSupplier, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message) { if (isEnabled(level, marker, message)) { logMessage(fqcn, level, marker, message); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5) { if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5)) { logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6) { if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6)) { logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object... params) { if (isEnabled(level, marker, message, params)) { logMessage(fqcn, level, marker, message, params); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0, final Object p1) { if (isEnabled(level, marker, message, p0, p1)) { logMessage(fqcn, level, marker, message, p0, p1); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Throwable t) { if (isEnabled(level, marker, message, t)) { logMessage(fqcn, level, marker, message, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Object message, final Throwable t) { if (isEnabled(level, marker, message, t)) { logMessage(fqcn, level, marker, message, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final CharSequence message, final Throwable t) { if (isEnabled(level, marker, message, t)) { logMessage(fqcn, level, marker, message, t); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message, final Object p0) { if (isEnabled(level, marker, message, p0)) { logMessage(fqcn, level, marker, message, p0); } }
@Override public void logIfEnabled(final String fqcn, final Level level, final Marker marker, 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) { if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)) { logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } }
@Override protected void doLog(final Level level, final String loggerClassName, final Object message, final Object[] parameters, final Throwable thrown) { final org.apache.logging.log4j.Level translatedLevel = Log4j2Logger.translate(level); if (this.logger.isEnabled(translatedLevel)) { try { this.logger.logMessage(loggerClassName, translatedLevel, null, (parameters == null || parameters.length == 0) ? this.messageFactory.newMessage(message) : this.messageFactory.newMessage(String.valueOf(message), parameters), thrown); } catch (Throwable ignored) { } } }
@Override protected void doLogf(final Level level, final String loggerClassName, final String format, final Object[] parameters, final Throwable thrown) { final org.apache.logging.log4j.Level translatedLevel = Log4j2Logger.translate(level); if (this.logger.isEnabled(translatedLevel)) { try { this.logger.logMessage(loggerClassName, translatedLevel, null, new StringFormattedMessage(format, parameters), thrown); } catch (Throwable ignored) { } } }
@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); } }