Suppose that class X is used in applications Y and Z. If X holds a static reference to a logger L, then all the log events are going to be added into the context {@link org.apache.logging.log4j.core.LoggerContext}on which L fast first initialized, regardless of which application generated the event.
This class is a wrapper for {@link org.apache.logging.log4j.core.Logger} classwhich is capable of detecting that the log event is being generated from an application which {@link org.apache.logging.log4j.core.LoggerContext} is different than L's, and thusforward the event to the correct context. Because this class is a fix for issues in static loggers, it must not hold any reference to any {@link java.lang.ClassLoader} since otherwisethat class loader would be GC unreachable. For that reason, it uses {@link #ownerClassLoaderHash}instead of the real reference
@since 3.6.0