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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]