You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-cvs@jakarta.apache.org by ce...@apache.org on 2001/09/21 17:49:44 UTC
cvs commit: jakarta-log4j/src/java/org/apache/log4j Category.java LogManager.java
ceki 01/09/21 08:49:43
Modified: src/java/org/apache/log4j Category.java LogManager.java
Log:
Moved automatic initialization to the LogManager class from Category.
This is required in some initialization sequences.
Revision Changes Path
1.53 +0 -115 jakarta-log4j/src/java/org/apache/log4j/Category.java
Index: Category.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Category.java,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- Category.java 2001/09/10 20:01:22 1.52
+++ Category.java 2001/09/21 15:49:43 1.53
@@ -39,8 +39,6 @@
import java.util.MissingResourceException;
import java.text.MessageFormat;
import java.util.ResourceBundle;
-import java.net.URL;
-import java.net.MalformedURLException;
/**
@@ -89,119 +87,6 @@
// RootCategory(Level.DEBUG));
- /**
- This string constant is set to <b>log4j.properties</b> the name
- of the file that will be searched by default in classpath. If the
- file can be found, then it is fed to the {@link
- PropertyConfigurator}.
-
- See also {@link #DEFAULT_CONFIGURATION_KEY} for a more general
- alternative.
-
- <p>See also the full description of <a
- href="../../../../manual.html#defaultInit">default
- intialization</a> procedure.
-
- @since 0.8.5 */
- static public final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
-
- /**
- This string constant is set to <b>log4j.configuration</b>.
-
- <p>It corresponds to name of a system property that, if set,
- specifies the name of the resource containing the properties file
- or {@link URL} with which log4j should configure itself. See
- {@link OptionConverter#selectAndConfigure} for more detailed
- information on the processing of this option.
-
- <p>Setting the <b>log4j.configuration</b> system property
- overrides the default search for the file <b>log4j.properties</b>.
-
- <p>Note that all property keys are case sensitive.
-
- <p>See also the full description of <a
- href="../../../../manual.html#defaultInit">default
- intialization</a> procedure.
-
- @since 1.0 */
- static final public String DEFAULT_CONFIGURATION_KEY="log4j.configuration";
-
- /**
- This string constant is set to <b>log4j.configuratorClass</b>.
-
- <p>It corresponds to name of a system property that, if set,
- specifies the class name to use to automatically configure
- log4j. See {@link OptionConverter#selectAndConfigure} for more
- detailed information on the processing of this option.
-
- <p>Setting the <b>log4j.configuration</b> system property
- overrides the default search for the file <b>log4j.properties</b>.
-
- <p>Note that all property keys are case sensitive.
-
- <p>See also the full description of <a
- href="../../../../manual.html#defaultInit">default
- intialization</a> procedure.
-
- @since 1.2 */
- static final public String CONFIGURATOR_CLASS_KEY="log4j.configuratorClass";
-
- /**
- Setting the system property <b>log4j.defaultInitOverride</b> to
- "true" or any other value than "false" will skip default
- configuration process.
-
- <p>The current value of the DEFAULT_INIT_OVERRIDE_KEY string
- constant is <b>log4j.defaultInitOverride</b>.
-
- <p>See also the full description of <a
- href="../../../../manual.html#defaultInit">default
- intialization</a> procedure.
-
- <p>Note that all property keys are case sensitive.
-
- @since 0.8.5 */
- public static final String DEFAULT_INIT_OVERRIDE_KEY =
- "log4j.defaultInitOverride";
-
- /** Search for the properties file log4j.properties in the CLASSPATH. */
- static {
-
- String override =OptionConverter.getSystemProperty(DEFAULT_INIT_OVERRIDE_KEY,
- null);
-
- // if there is no default init override, them get the resource
- // specified by the user or the default config file.
- if(override == null || "false".equalsIgnoreCase(override)) {
- String resource = OptionConverter.getSystemProperty(
- DEFAULT_CONFIGURATION_KEY,
- DEFAULT_CONFIGURATION_FILE);
-
- String configuratorClassName = OptionConverter.getSystemProperty(
- CONFIGURATOR_CLASS_KEY,
- null);
-
- URL url = null;
- try {
- // so, resource is not a URL:
- // attempt to get the resource from the class path
- url = new URL(resource);
- } catch (MalformedURLException ex) {
- url = Loader.getResource(resource);
- }
-
- // 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.");
- OptionConverter.selectAndConfigure(url, configuratorClassName,
- LogManager.getLoggerRepository());
- } else {
- LogLog.debug("Could not find resource: ["+resource+"].");
- }
- }
- }
/**
The name of this category.
1.3 +120 -2 jakarta-log4j/src/java/org/apache/log4j/LogManager.java
Index: LogManager.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/LogManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LogManager.java 2001/09/05 06:45:28 1.2
+++ LogManager.java 2001/09/21 15:49:43 1.3
@@ -13,7 +13,13 @@
import org.apache.log4j.spi.DefaultRepositorySelector;
import org.apache.log4j.spi.RootCategory;
import org.apache.log4j.helpers.Loader;
+import org.apache.log4j.helpers.OptionConverter;
+import org.apache.log4j.helpers.LogLog;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+
import java.util.Enumeration;
/**
@@ -23,13 +29,125 @@
*/
public class LogManager {
+ /**
+ This string constant is set to <b>log4j.properties</b> the name
+ of the file that will be searched by default in classpath. If the
+ file can be found, then it is fed to the {@link
+ PropertyConfigurator}.
+
+ See also {@link #DEFAULT_CONFIGURATION_KEY} for a more general
+ alternative.
+
+ <p>See also the full description of <a
+ href="../../../../manual.html#defaultInit">default
+ intialization</a> procedure.
+
+ @since 0.8.5 */
+ static public final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
+
+ /**
+ This string constant is set to <b>log4j.configuration</b>.
+
+ <p>It corresponds to name of a system property that, if set,
+ specifies the name of the resource containing the properties file
+ or {@link URL} with which log4j should configure itself. See
+ {@link OptionConverter#selectAndConfigure} for more detailed
+ information on the processing of this option.
+
+ <p>Setting the <b>log4j.configuration</b> system property
+ overrides the default search for the file <b>log4j.properties</b>.
+
+ <p>Note that all property keys are case sensitive.
+
+ <p>See also the full description of <a
+ href="../../../../manual.html#defaultInit">default
+ intialization</a> procedure.
+
+ @since 1.0 */
+ static final public String DEFAULT_CONFIGURATION_KEY="log4j.configuration";
+
+ /**
+ This string constant is set to <b>log4j.configuratorClass</b>.
+
+ <p>It corresponds to name of a system property that, if set,
+ specifies the class name to use to automatically configure
+ log4j. See {@link OptionConverter#selectAndConfigure} for more
+ detailed information on the processing of this option.
+
+ <p>Setting the <b>log4j.configuration</b> system property
+ overrides the default search for the file <b>log4j.properties</b>.
+
+ <p>Note that all property keys are case sensitive.
+
+ <p>See also the full description of <a
+ href="../../../../manual.html#defaultInit">default
+ intialization</a> procedure.
+
+ @since 1.2 */
+ static final public String CONFIGURATOR_CLASS_KEY="log4j.configuratorClass";
+
+ /**
+ Setting the system property <b>log4j.defaultInitOverride</b> to
+ "true" or any other value than "false" will skip default
+ configuration process.
+
+ <p>The current value of the DEFAULT_INIT_OVERRIDE_KEY string
+ constant is <b>log4j.defaultInitOverride</b>.
+
+ <p>See also the full description of <a
+ href="../../../../manual.html#defaultInit">default
+ intialization</a> procedure.
+
+ <p>Note that all property keys are case sensitive.
+
+ @since 0.8.5 */
+ public static final String DEFAULT_INIT_OVERRIDE_KEY =
+ "log4j.defaultInitOverride";
+
+
static private Object guard = null;
static private RepositorySelector repositorySelector;
static {
Hierarchy h = new Hierarchy(new RootCategory(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, them get the resource
+ // specified by the user or the default config file.
+ if(override == null || "false".equalsIgnoreCase(override)) {
+ String resource = OptionConverter.getSystemProperty(
+ DEFAULT_CONFIGURATION_KEY,
+ DEFAULT_CONFIGURATION_FILE);
+
+ String configuratorClassName = OptionConverter.getSystemProperty(
+ CONFIGURATOR_CLASS_KEY,
+ null);
+
+ URL url = null;
+ try {
+ // so, resource is not a URL:
+ // attempt to get the resource from the class path
+ url = new URL(resource);
+ } catch (MalformedURLException ex) {
+ url = Loader.getResource(resource);
+ }
+
+ // 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.");
+ OptionConverter.selectAndConfigure(url, configuratorClassName,
+ LogManager.getLoggerRepository());
+ } else {
+ LogLog.debug("Could not find resource: ["+resource+"].");
+ }
+ }
+ }
/**
Sets <code>LoggerFactory</code> but only if the correct
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-cvs-help@jakarta.apache.org