diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java index ec4decb76..adfe28cc1 100644 --- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java +++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java @@ -411,13 +411,17 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { aOutputStream.defaultWriteObject(); } + private static Boolean eventDataLoaded = null; private static EventDataConverter createConverter() { - try { - LoaderUtil.loadClass("org.slf4j.ext.EventData"); - return new EventDataConverter(); - } catch (final ClassNotFoundException cnfe) { - return null; + if (eventDataLoaded == null) { + try { + LoaderUtil.loadClass("org.slf4j.ext.EventData"); + eventDataLoaded = true; + } catch (final ClassNotFoundException cnfe) { + eventDataLoaded = false; + } } + return eventDataLoaded ? new EventDataConverter() : null; } private static Level getLevel(final int i) {