LOG4J2-2644 - Cache requiresLocation boolean
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java
index f7c675f..39c9b3c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java
@@ -142,7 +142,8 @@
@Override
protected boolean requiresLocation() {
- return privateConfig.loggerConfig.requiresLocation();
+
+ return privateConfig.requiresLocation;
}
@Override
@@ -396,6 +397,7 @@
private final Level loggerConfigLevel;
private final int intLevel;
private final Logger logger;
+ private final boolean requiresLocation;
public PrivateConfig(final Configuration config, final Logger logger) {
this.config = config;
@@ -403,6 +405,7 @@
this.loggerConfigLevel = this.loggerConfig.getLevel();
this.intLevel = this.loggerConfigLevel.intLevel();
this.logger = logger;
+ this.requiresLocation = this.loggerConfig.requiresLocation();
}
public PrivateConfig(final PrivateConfig pc, final Level level) {
@@ -411,6 +414,7 @@
this.loggerConfigLevel = level;
this.intLevel = this.loggerConfigLevel.intLevel();
this.logger = pc.logger;
+ this.requiresLocation = this.loggerConfig.requiresLocation();
}
public PrivateConfig(final PrivateConfig pc, final LoggerConfig lc) {
@@ -419,6 +423,7 @@
this.loggerConfigLevel = lc.getLevel();
this.intLevel = this.loggerConfigLevel.intLevel();
this.logger = pc.logger;
+ this.requiresLocation = this.loggerConfig.requiresLocation();
}
// LOG4J2-151: changed visibility to public