Browse Source

Merge pull request #241 in CORE/base-third from ~ZACK/base-third:release/10.0 to release/10.0

* commit 'aea547bf7ffafd53ac156e9dd2b47488b3691e5a':
  REPORT-18993 log4j冲突问题处理,这个在9.0是处理过的,后来jinbokai重新拉了一份源码覆盖掉了,重新提交下
bugfix/10.0
richie 5 years ago
parent
commit
932ad142dc
  1. 64
      fine-log4j/src/com/fr/third/apache/log4j/LogManager.java

64
fine-log4j/src/com/fr/third/apache/log4j/LogManager.java

@ -17,9 +17,7 @@
package com.fr.third.apache.log4j; package com.fr.third.apache.log4j;
import com.fr.third.apache.log4j.helpers.Loader;
import com.fr.third.apache.log4j.helpers.LogLog; import com.fr.third.apache.log4j.helpers.LogLog;
import com.fr.third.apache.log4j.helpers.OptionConverter;
import com.fr.third.apache.log4j.spi.DefaultRepositorySelector; import com.fr.third.apache.log4j.spi.DefaultRepositorySelector;
import com.fr.third.apache.log4j.spi.LoggerFactory; import com.fr.third.apache.log4j.spi.LoggerFactory;
import com.fr.third.apache.log4j.spi.LoggerRepository; import com.fr.third.apache.log4j.spi.LoggerRepository;
@ -27,13 +25,9 @@ import com.fr.third.apache.log4j.spi.NOPLoggerRepository;
import com.fr.third.apache.log4j.spi.RepositorySelector; import com.fr.third.apache.log4j.spi.RepositorySelector;
import com.fr.third.apache.log4j.spi.RootLogger; import com.fr.third.apache.log4j.spi.RootLogger;
import java.net.URL;
import java.net.MalformedURLException;
import java.util.Enumeration;
import java.io.StringWriter;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Enumeration;
/** /**
* Use the <code>LogManager</code> class to retreive {@link Logger} * Use the <code>LogManager</code> class to retreive {@link Logger}
@ -82,60 +76,7 @@ public class LogManager {
Hierarchy h = new Hierarchy(new RootLogger((Level) Level.DEBUG)); Hierarchy h = new Hierarchy(new RootLogger((Level) Level.DEBUG));
repositorySelector = new DefaultRepositorySelector(h); repositorySelector = new DefaultRepositorySelector(h);
/** Search for the properties file log4j.properties in the CLASSPATH. */
String override = OptionConverter.getSystemProperty(DEFAULT_INIT_OVERRIDE_KEY,
null);
// if there is no default init override, then get the resource
// specified by the user or the default config file.
if(override == null || "false".equalsIgnoreCase(override)) {
String configurationOptionStr = OptionConverter.getSystemProperty(
DEFAULT_CONFIGURATION_KEY,
null);
String configuratorClassName = OptionConverter.getSystemProperty(
CONFIGURATOR_CLASS_KEY,
null);
URL url = null;
// if the user has not specified the log4j.configuration
// property, we search first for the file "log4j.xml" and then
// "log4j.properties"
if(configurationOptionStr == null) {
url = Loader.getResource(DEFAULT_XML_CONFIGURATION_FILE);
if(url == null) {
url = Loader.getResource(DEFAULT_CONFIGURATION_FILE);
}
} else {
try {
url = new URL(configurationOptionStr);
} catch (MalformedURLException ex) {
// so, resource is not a URL:
// attempt to get the resource from the class path
url = Loader.getResource(configurationOptionStr);
}
}
// If we have a non-null url, then delegate the rest of the
// configuration to the OptionConverter.selectAndConfigure
// method.
if(url != null) {
LogLog.debug("Using URL ["+url+"] for automatic log4j configuration.");
try {
OptionConverter.selectAndConfigure(url, configuratorClassName,
LogManager.getLoggerRepository());
} catch (NoClassDefFoundError e) {
LogLog.warn("Error during default initialization", e);
}
} else {
LogLog.debug("Could not find resource: ["+configurationOptionStr+"].");
}
} else {
LogLog.debug("Default initialization of overridden by " +
DEFAULT_INIT_OVERRIDE_KEY + "property.");
}
} }
/** /**
@ -273,4 +214,3 @@ public class LogManager {
getLoggerRepository().resetConfiguration(); getLoggerRepository().resetConfiguration();
} }
} }

Loading…
Cancel
Save