You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2018/07/05 03:05:36 UTC
logging-log4j2 git commit: LOG4J2-2266 - Use classloaders when
loading properties
Repository: logging-log4j2
Updated Branches:
refs/heads/LOG4J2-2266 [created] 2a051c2c7
LOG4J2-2266 - Use classloaders when loading properties
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2a051c2c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2a051c2c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2a051c2c
Branch: refs/heads/LOG4J2-2266
Commit: 2a051c2c70856863161402ccb8c1315d942e061a
Parents: af5cd99
Author: Ralph Goers <rg...@apache.org>
Authored: Wed Jul 4 20:05:17 2018 -0700
Committer: Ralph Goers <rg...@apache.org>
Committed: Wed Jul 4 20:05:17 2018 -0700
----------------------------------------------------------------------
.../org/apache/logging/log4j/util/PropertiesUtil.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2a051c2c/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java
index 9349b2e..4c20dc0 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java
@@ -316,12 +316,22 @@ public final class PropertiesUtil {
private Environment(final PropertySource propertySource) {
sources.add(propertySource);
- for (final PropertySource source : ServiceLoader.load(PropertySource.class)) {
- sources.add(source);
+ for (ClassLoader classLoader : LoaderUtil.getClassLoaders()) {
+ try {
+ loadPropertySource(classLoader);
+ } catch (Throwable ex) {
+ LowLevelLogUtil.log("Unable to retrieve propertySource from ClassLoader " + classLoader + ", " + ex.getMessage());
+ }
}
reload();
}
+ private void loadPropertySource(ClassLoader classLoader) {
+ for (final PropertySource source : ServiceLoader.load(PropertySource.class, classLoader)) {
+ sources.add(source);
+ }
+ }
+
private synchronized void reload() {
literal.clear();
normalized.clear();