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/05 08:45:29 UTC

cvs commit: jakarta-log4j/src/java/org/apache/log4j/xml/test DisableOverrideTest.java

ceki        01/09/04 23:45:29

  Modified:    build    build.xml
               docs     HISTORY deepExtension.html
               src/java/org/apache/log4j AppenderSkeleton.java
                        BasicConfigurator.java Category.java Hierarchy.java
                        LogManager.java Makefile PropertyConfigurator.java
                        StressCategory.java
               src/java/org/apache/log4j/config PropertySetter.java
               src/java/org/apache/log4j/helpers OptionConverter.java
               src/java/org/apache/log4j/net JMSSink.java Makefile
                        SimpleSocketServer.java SocketNode.java
                        SocketServer.java
               src/java/org/apache/log4j/performance NotLogging.java
               src/java/org/apache/log4j/spi Configurator.java
                        LoggerRepository.java LoggingEvent.java Makefile
               src/java/org/apache/log4j/test ShippedCodeFlagTest.java
                        SysoutConfigurator.java UnitTestLogger.java
               src/java/org/apache/log4j/xml DOMConfigurator.java
               src/java/org/apache/log4j/xml/examples XLogger.java
               src/java/org/apache/log4j/xml/test DisableOverrideTest.java
  Log:
  - The use of LogManager is now *pervasive*. This is a big change.
  
  - Fixed some backward compatibility problems.
  
  Revision  Changes    Path
  1.43      +1 -0      jakarta-log4j/build/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/build/build.xml,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- build.xml	2001/09/03 22:40:55	1.42
  +++ build.xml	2001/09/05 06:45:28	1.43
  @@ -135,6 +135,7 @@
   	   includes="${stem}/**/*.java, ${stem}/xml/XMLLayout.java,"
   	   classpath="${classpath}"
   	   excludes="misc/*, **/UnitTest*.java,
  +                    **/StressCategory.java,
   	            **/doc-files/*,
                       ${stem}/xml/**,
                       ${stem}/gui/**,
  
  
  
  1.63      +3 -0      jakarta-log4j/docs/HISTORY
  
  Index: HISTORY
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/docs/HISTORY,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- HISTORY	2001/09/04 15:23:52	1.62
  +++ HISTORY	2001/09/05 06:45:28	1.63
  @@ -50,6 +50,9 @@
      deprecated methods. They have become totally redundant after we
      moved to JavaBeans style configuration in log4j 1.1.
   
  + - Remoced deprecated method disable(Priority), disableAll,
  +   disableDebug, disableInfo and enableAll in BasicConfigurator. [*]
  +
    - Added supports java.io.Reader objects in the method doConfigure(),
      instead of only InputStream. Thanks to Mark Womack for submitting
      the relevant patch. [*]
  
  
  
  1.9       +1 -1      jakarta-log4j/docs/deepExtension.html
  
  Index: deepExtension.html
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/docs/deepExtension.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- deepExtension.html	2001/07/29 16:37:26	1.8
  +++ deepExtension.html	2001/09/05 06:45:28	1.9
  @@ -163,7 +163,7 @@
   <ul>
   <li><code><a href="api/org/apache/log4j/PatternLayout.html">org.apache.log4j.PatternLayout</a></code> 
   <li><code><a href="api/org/apache/log4j/Category.html">org.apache.log4j.Category</a></code> 
  -<li><code><a href="api/org/apache/log4j/spi/CategoryFactory.html">org.apache.log4j.spi.CategoryFactory</a></code> 
  +<li><code><a href="api/org/apache/log4j/spi/LoggerFactory.html">org.apache.log4j.spi.CategoryFactory</a></code> 
   <li><code><a href="api/org/apache/log4j/spi/LoggingEvent.html">org.apache.log4j.spi.LoggingEvent</a></code> 
   <li><code><a href="api/org/apache/log4j/helpers/PatternParser.html">org.apache.log4j.helpers.PatternParser</a></code> 
   <li><code><a href="api/org/apache/log4j/helpers/PatternConverter.html">org.apache.log4j.helpers.PatternConverter</a></code> 
  
  
  
  1.18      +1 -1      jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java
  
  Index: AppenderSkeleton.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- AppenderSkeleton.java	2001/09/04 20:06:23	1.17
  +++ AppenderSkeleton.java	2001/09/05 06:45:28	1.18
  @@ -268,7 +268,7 @@
        
        @since 0.8.3 */
     public
  -  void setThreshold(Level threshold) {
  +  void setThreshold(Priority threshold) {
       this.threshold = threshold;
     }  
   }
  
  
  
  1.19      +9 -57     jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java
  
  Index: BasicConfigurator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- BasicConfigurator.java	2001/09/02 20:05:39	1.18
  +++ BasicConfigurator.java	2001/09/05 06:45:28	1.19
  @@ -14,6 +14,8 @@
   import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.helpers.Loader;
   import org.apache.log4j.helpers.OptionConverter;
  +import org.apache.log4j.spi.LoggerRepository;
  +import org.apache.log4j.spi.RendererSupport;
   import org.apache.log4j.or.ObjectRenderer;
   import org.apache.log4j.or.RendererMap;
   import java.util.Enumeration;
  @@ -80,11 +82,11 @@
     static {    
       String override = OptionConverter.getSystemProperty(DISABLE_OVERRIDE_KEY, null);
       if(override != null) {
  -      Category.defaultHierarchy.setDisableOverride(override);
  +      //Category.defaultHierarchy.setDisableOverride(override);
       } else { // check for log4j.disable only in absence of log4j.disableOverride
         String disableStr = OptionConverter.getSystemProperty(DISABLE_KEY, null);
         if(disableStr != null) {
  -	Category.defaultHierarchy.disable(disableStr);
  +	LogManager.getLoggerRepository().disable(disableStr);
         }
       }
     }
  @@ -97,7 +99,8 @@
        Used by subclasses to add a renderer to the hierarchy passed as parameter.
      */
     protected
  -  void addRenderer(Hierarchy hierarchy, String renderedClassName, 
  +  static
  +  void addRenderer(RendererSupport repository, String renderedClassName, 
   		   String renderingClassName) {
       LogLog.debug("Rendering class: ["+renderingClassName+"], Rendered class: ["+
   		 renderedClassName+"].");
  @@ -111,13 +114,13 @@
       } else {
         try {
   	Class renderedClass = Loader.loadClass(renderedClassName);
  -	hierarchy.rendererMap.put(renderedClass, renderer);
  +	repository.setRenderer(renderedClass, renderer);
         } catch(ClassNotFoundException e) {
   	LogLog.error("Could not find class ["+renderedClassName+"].", e);
         }
       }
     }
  -
  +  
     /**
        See {@link Hierarchy#disable(String)}.
   
  @@ -138,48 +141,6 @@
     
     }
     
  -
  -  /**
  -     See {@link Hierarchy#disableAll()}.
  -
  -     @deprecated Use <code>Category.getDefaultHierarchy().disableAll()</code> instead.  */  
  -  public
  -  static
  -  void disableAll() {
  -      Category.getDefaultHierarchy().disable(Level.FATAL);
  -  }
  -
  - /**
  -     See {@link Hierarchy#disableDebug()}.
  -
  -     @deprecated Use <code>Category.getDefaultHierarchy().disableDebug()</code> instead.  */ 
  -  public
  -  static
  -  void disableDebug() {
  -    Category.getDefaultHierarchy().disable(Level.DEBUG);
  -  }  
  -
  - /**
  -     See {@link Hierarchy#disableInfo()}.
  -
  -     @deprecated Use <code>Category.getDefaultHierarchy().disableInfo()</code> instead.  */ 
  -  public
  -  static
  -  void disableInfo() {
  -    Category.getDefaultHierarchy().disable(Level.INFO);
  -  } 
  -  
  -
  - /**
  -     See {@link Hierarchy#enableAll()}.
  -
  -     @deprecated Use <code>Category.getDefaultHierarchy().enableAll()</code> instead.  */ 
  -  public
  -  static
  -  void enableAll() {
  -    Category.getDefaultHierarchy().disable(Level.INFO);
  -  }
  -
     /**
        Add a {@link FileAppender} that uses {@link PatternLayout} using
        the {@link PatternLayout#TTCC_CONVERSION_PATTERN} and prints to
  @@ -212,15 +173,6 @@
     public
     static
     void resetConfiguration() {
  -    Category.defaultHierarchy.resetConfiguration();
  -  }
  -
  -  /**
  -     @deprecated Use <code>hierarchy.resetConfiguration()</code> instead.
  -  */
  -  public
  -  static
  -  void resetConfiguration(Hierarchy hierarchy) {
  -    hierarchy.resetConfiguration();
  +    LogManager.resetConfiguration();
     }
   }
  
  
  
  1.48      +74 -55    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.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- Category.java	2001/09/04 20:06:23	1.47
  +++ Category.java	2001/09/05 06:45:28	1.48
  @@ -25,6 +25,7 @@
   import org.apache.log4j.spi.AppenderAttachable;
   import org.apache.log4j.spi.LoggerFactory;
   import org.apache.log4j.spi.LoggingEvent;
  +import org.apache.log4j.spi.LoggerRepository;
   import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.helpers.NullEnumeration;
   import org.apache.log4j.helpers.OptionConverter;
  @@ -57,10 +58,10 @@
     /**
        The hierarchy where categories are attached to by default.
     */
  -  static 
  -  public 
  -  final Hierarchy defaultHierarchy = new Hierarchy(new 
  -						   RootCategory(Level.DEBUG));
  +  //static 
  +  //public 
  +  //final Hierarchy defaultHierarchy = new Hierarchy(new 
  +  //					   RootCategory(Level.DEBUG));
   
   
     /**
  @@ -170,7 +171,7 @@
         if(url != null) {
   	LogLog.debug("Using URL ["+url+"] for automatic log4j configuration.");
   	OptionConverter.selectAndConfigure(url, configuratorClassName, 
  -					   defaultHierarchy);
  +					   LogManager.getLoggerRepository());
         } else {
   	LogLog.debug("Could not find resource: ["+resource+"].");
         }
  @@ -201,7 +202,7 @@
     protected ResourceBundle resourceBundle;
     
     // Categories need to know what Hierarchy they are in
  -  protected Hierarchy hierarchy;
  +  protected LoggerRepository repository;
   
   
     AppenderAttachableImpl aai;
  @@ -243,7 +244,7 @@
         aai = new AppenderAttachableImpl();
       }
       aai.addAppender(newAppender);
  -    hierarchy.fireAddAppenderEvent(this, newAppender);
  +    repository.fireAddAppenderEvent(this, newAppender);
     }
   
     /**
  @@ -291,12 +292,9 @@
   	}
         }
       }
  -    // No appenders in hierarchy, warn user only once.
  -    if(!hierarchy.emittedNoAppenderWarning && writes == 0) {
  -      LogLog.error("No appenders could be found for category (" +
  -		    this.getName() + ").");
  -      LogLog.error("Please initialize the log4j system properly.");
  -      hierarchy.emittedNoAppenderWarning = true;
  +    
  +    if(writes == 0) {
  +      repository.emitNoAppenderWarning(this);
       }
     }
   
  @@ -338,7 +336,7 @@
       @param message the message object to log. */
     public
     void debug(Object message) {
  -    if(hierarchy.enableInt >  Level.DEBUG_INT) 
  +    if(repository.isDisabled(Level.DEBUG_INT)) 
         return;    
       if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel())) {
         forcedLog(FQCN, Level.DEBUG, message, null);
  @@ -357,7 +355,7 @@
      @param t the exception to log, including its stack trace.  */  
     public
     void debug(Object message, Throwable t) {
  -    if(hierarchy.enableInt >  Level.DEBUG_INT) 
  +    if(repository.isDisabled(Level.DEBUG_INT)) 
         return;
       if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.DEBUG, message, t);    
  @@ -392,7 +390,7 @@
       @param message the message object to log */
     public
     void error(Object message) {
  -    if(hierarchy.enableInt >  Level.ERROR_INT) 
  +    if(repository.isDisabled(Level.ERROR_INT))
         return;
       if(Level.ERROR.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.ERROR, message, null);
  @@ -409,7 +407,7 @@
      @param t the exception to log, including its stack trace.  */  
     public
     void error(Object message, Throwable t) {
  -    if(hierarchy.enableInt >  Level.ERROR_INT) 
  +    if(repository.isDisabled(Level.ERROR_INT))
         return;
       if(Level.ERROR.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.ERROR, message, t);
  @@ -421,13 +419,14 @@
        If the named category exists (in the default hierarchy) then it
        returns a reference to the category, otherwise it returns
        <code>null</code>.
  -     
  -     <p>Contributed by Ciaran Treanor -  ciaran@xelector.com
  +
  +     @deprecateed Please use {@link LogManager#exists} instead.
  +
        @version 0.8.5 */
     public
     static
     Logger exists(String name) {    
  -    return defaultHierarchy.exists(name);
  +    return LogManager.exists(name);
     }
   
     /** 
  @@ -450,7 +449,7 @@
       @param message the message object to log */
     public
     void fatal(Object message) {
  -    if(hierarchy.enableInt >  Level.FATAL_INT) 
  +    if(repository.isDisabled(Level.FATAL_INT)) 
         return;    
       if(Level.FATAL.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.FATAL, message, null);
  @@ -467,7 +466,7 @@
      @param t the exception to log, including its stack trace.  */
     public
     void fatal(Object message, Throwable t) {
  -    if(hierarchy.enableInt >  Level.FATAL_INT) 
  +    if(repository.isDisabled(Level.FATAL_INT))
         return;   
       if(Level.FATAL.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.FATAL, message, t);
  @@ -543,11 +542,13 @@
   
        <p>The root category is <em>not</em> included in the returned
        {@link Enumeration}.     
  +
  +     @deprecated Please use {@link LogManager#getCurrentLoggers()} instead.
     */
     public
     static
     Enumeration getCurrentCategories() {
  -    return defaultHierarchy.getCurrentLoggers();
  +    return LogManager.getCurrentLoggers();
     }
   
   
  @@ -558,21 +559,32 @@
      */
     public 
     static 
  -  Hierarchy getDefaultHierarchy() {
  -    return defaultHierarchy;
  +  LoggerRepository getDefaultHierarchy() {
  +    return LogManager.getLoggerRepository();
     }
   
  -  
     /**
  -     Return the the {@link Hierarchy} where this <code>Category</code> instance is
  -     attached.
  +     Return the the {@link Hierarchy} where this <code>Category</code>
  +     instance is attached.
   
  +     @deprecatede Please use {@link #getLoggerRepository} instead.
  +
        @since 1.1 */
     public  
  -  Hierarchy getHierarchy() {
  -    return hierarchy;
  +  LoggerRepository  getHierarchy() {
  +    return repository;
     }
   
  +  /**
  +     Return the the {@link LoggerRepository} where this
  +     <code>Category</code> is attached.
  +
  +     @since 1.2 */
  +  public  
  +  LoggerRepository  getLoggerRepository() {
  +    return repository;
  +  }
  +
     
    /**
        Retrieve a category with named as the <code>name</code>
  @@ -584,11 +596,13 @@
        it from the hierarchy. This is one of the central features of
        log4j.
   
  +     @deprecated Please use {@link LogManager#getLogger(String)} instead.
  +
        @param name The name of the category to retrieve.  */
     public
     static
     Logger getInstance(String name) {
  -    return defaultHierarchy.getLogger(name);
  +    return LogManager.getLogger(name);
     }	
   
    /**
  @@ -598,11 +612,13 @@
       name of the category to retrieve.  See {@link
       #getInstance(String)} for more detailed information.
   
  +    @deprecated Please use {@link LogManager#getLogger(Class)} instead.
  +
       @since 1.0 */
     public
     static
     Logger getInstance(Class clazz) {
  -    return getInstance(clazz.getName());
  +    return LogManager.getLogger(clazz);
     }	
   
   
  @@ -623,7 +639,7 @@
     public
     static
     Logger getInstance(String name, LoggerFactory factory) {
  -    return defaultHierarchy.getLogger(name, factory);
  +    return LogManager.getLogger(name, factory);
     }	
   
     
  @@ -682,12 +698,13 @@
        Category.getInstance("root")} does not retrieve the root category 
        but a category just under root named "root".
        
  +     @deprecated Use {@link LogManager#getRootLogger()} instead.
      */
     final
     public
     static
     Logger getRoot() {
  -    return defaultHierarchy.getRootLogger();
  +    return LogManager.getRootLogger();
     }
   
     /**
  @@ -725,10 +742,10 @@
       // This is one of the rare cases where we can use logging in order
       // to report errors from within log4j.
       if(rb == null) {
  -      if(!hierarchy.emittedNoResourceBundleWarning) {
  -	error("No resource bundle has been set for category "+name);
  -	hierarchy.emittedNoResourceBundleWarning = true;
  -      }
  +      //if(!hierarchy.emittedNoResourceBundleWarning) {
  +      //error("No resource bundle has been set for category "+name);
  +      //hierarchy.emittedNoResourceBundleWarning = true;
  +      //}
         return null;
       }
       else {
  @@ -762,7 +779,7 @@
       @param message the message object to log */
     public
     void info(Object message) {
  -    if(hierarchy.enableInt >  Level.INFO_INT) 
  +    if(repository.isDisabled(Level.INFO_INT)) 
         return;    
       if(Level.INFO.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.INFO, message, null);
  @@ -779,7 +796,7 @@
      @param t the exception to log, including its stack trace.  */
     public
     void info(Object message, Throwable t) {
  -    if(hierarchy.enableInt >  Level.INFO_INT) 
  +    if(repository.isDisabled(Level.INFO_INT))
         return;   
       if(Level.INFO.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.INFO, message, t);
  @@ -821,7 +838,7 @@
       *   */
     public
     boolean isDebugEnabled() {
  -    if(hierarchy.enableInt >  Level.DEBUG_INT)
  +    if(repository.isDisabled( Level.DEBUG_INT))
         return false;   
       return Level.DEBUG.isGreaterOrEqual(this.getChainedLevel());
     }
  @@ -836,7 +853,7 @@
     */
     public
     boolean isEnabledFor(Level level) {
  -    if(hierarchy.enableInt >  level.level) 
  +    if(repository.isDisabled(level.level)) 
         return false;
       return level.isGreaterOrEqual(this.getChainedLevel());
     }
  @@ -850,7 +867,7 @@
     */
     public
     boolean isInfoEnabled() {
  -    if(hierarchy.enableInt > Level.INFO_INT)
  +    if(repository.isDisabled(Level.INFO_INT))
         return false;   
       return Level.INFO.isGreaterOrEqual(this.getChainedLevel());
     }
  @@ -866,7 +883,7 @@
        @since 0.8.4 */
     public
     void l7dlog(Level level, String key, Throwable t) {
  -    if(hierarchy.enableInt > level.level) {
  +    if(repository.isDisabled(level.level)) {
         return;
       }
       if(level.isGreaterOrEqual(this.getChainedLevel())) {
  @@ -890,7 +907,7 @@
     */
     public
     void l7dlog(Level level, String key,  Object[] params, Throwable t) {
  -    if(hierarchy.enableInt > level.level) {
  +    if(repository.isDisabled(level.level)) {
         return;
       }    
       if(level.isGreaterOrEqual(this.getChainedLevel())) {
  @@ -909,7 +926,7 @@
      */
     public
     void log(Level level, Object message, Throwable t) {
  -    if(hierarchy.enableInt > level.level) {
  +    if(repository.isDisabled(level.level)) {
         return;
       }
       if(level.isGreaterOrEqual(this.getChainedLevel())) 
  @@ -921,7 +938,7 @@
    */
     public
     void log(Level level, Object message) {
  -    if(hierarchy.enableInt > level.level) {
  +    if(repository.isDisabled(level.level)) {
         return;
       }
       if(level.isGreaterOrEqual(this.getChainedLevel()))
  @@ -939,7 +956,7 @@
        @param t The throwable of the logging request, may be null.  */
     public
     void log(String callerFQCN, Level level, Object message, Throwable t) {
  -    if(hierarchy.enableInt > level.level) {
  +    if(repository.isDisabled(level.level)) {
         return;
       }
       if(level.isGreaterOrEqual(this.getChainedLevel())) {
  @@ -1001,8 +1018,8 @@
        Only the Hiearchy class can set the hiearchy of a
        category. Default package access is MANDATORY here.  */
     final
  -  void setHierarchy(Hierarchy hierarchy) {
  -    this.hierarchy = hierarchy;
  +  void setHierarchy(LoggerRepository repository) {
  +    this.repository = repository;
     }
   
     /**
  @@ -1024,8 +1041,8 @@
        @deprecated Please use {@link #setLevel} instead.
     */
     public
  -  void setPriority(Level priority) {
  -    this.level = priority;
  +  void setPriority(Priority priority) {
  +    this.level = (Level) priority;
     }
   
   
  @@ -1056,12 +1073,14 @@
        configurations where a regular appender is attached to a category
        and again to a nested appender.  
   
  +     @deprecated Please use {@link LogManager#shutdown()} instead.
  +
        @since 1.0
     */
     public
     static
     void shutdown() {
  -    defaultHierarchy.shutdown();
  +    LogManager.shutdown();
     }
   
     
  @@ -1085,7 +1104,7 @@
       @param message the message object to log.  */
     public
     void warn(Object message) {
  -    if(hierarchy.enableInt >  Level.WARN_INT) 
  +    if(repository.isDisabled( Level.WARN_INT)) 
         return;   
   
       if(Level.WARN.isGreaterOrEqual(this.getChainedLevel()))
  @@ -1103,7 +1122,7 @@
      @param t the exception to log, including its stack trace.  */
     public
     void warn(Object message, Throwable t) {
  -    if(hierarchy.enableInt >  Level.WARN_INT) 
  +    if(repository.isDisabled(Level.WARN_INT)) 
         return;   
       if(Level.WARN.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, Level.WARN, message, t);
  
  
  
  1.31      +46 -4     jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java
  
  Index: Hierarchy.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- Hierarchy.java	2001/09/04 20:06:23	1.30
  +++ Hierarchy.java	2001/09/05 06:45:28	1.31
  @@ -26,6 +26,7 @@
   import org.apache.log4j.spi.LoggerFactory;
   import org.apache.log4j.spi.HierarchyEventListener;
   import org.apache.log4j.spi.LoggerRepository;
  +import org.apache.log4j.spi.RendererSupport;
   import org.apache.log4j.Appender;
   import org.apache.log4j.or.RendererMap;
   import org.apache.log4j.or.ObjectRenderer;
  @@ -54,7 +55,7 @@
      @author Ceki G&uuml;lc&uuml; 
   
   */
  -public class Hierarchy implements LoggerRepository {
  +public class Hierarchy implements LoggerRepository, RendererSupport {
   
     private LoggerFactory defaultFactory;
     private Vector listeners;
  @@ -62,7 +63,7 @@
     Hashtable ht;
     Logger root;
     RendererMap rendererMap;
  -  
  +
     int enableInt;
     Level enable;
   
  @@ -119,6 +120,17 @@
       ht.clear();
     }
   
  +  public 
  +  void emitNoAppenderWarning(Category cat) {
  +    // No appenders in hierarchy, warn user only once.
  +    if(this.emittedNoAppenderWarning) {
  +      LogLog.error("No appenders could be found for category (" +
  +		   cat.getName() + ").");
  +      LogLog.error("Please initialize the log4j system properly.");
  +      this.emittedNoAppenderWarning = true;
  +    }
  +  }
  +
     /**
        Check if the named category exists in the hierarchy. If so return
        its reference, otherwise returns <code>null</code>.
  @@ -297,6 +309,17 @@
     }
   
     /**
  +     Returns an integer representation of the this repository's
  +     <code>enable</code> state.
  +
  +     @since 1.2 */
  +  public
  +  int getEnableInt() {
  +    return enableInt;
  +  }
  +
  +
  +  /**
        Return a new logger instance named as the first parameter using
        the default factory. 
        
  @@ -360,7 +383,6 @@
       }
     }
   
  -
     /**
        Returns all the currently defined categories in this hierarchy as
        an {@link java.util.Enumeration Enumeration}.
  @@ -385,6 +407,15 @@
     }
   
     /**
  +     @deprecated Please use {@link #getCurrentLoggers} instead.
  +   */
  +  public
  +  Enumeration getCurrentCategories() {
  +    return getCurrentLoggers();
  +  }
  +
  +
  +  /**
        Get the renderer map for this hierarchy.
     */
     public
  @@ -409,7 +440,7 @@
   
     public
     boolean isDisabled(int level) {    
  -    return enableInt >  level;
  +    return enableInt > level;
     }
   
     /**
  @@ -466,6 +497,17 @@
     void setDisableOverride(String override) {
       LogLog.warn("The Hiearchy.setDisableOverride method has been deprecated.");    
     }
  +
  +
  +
  +  /**
  +     Used by subclasses to add a renderer to the hierarchy passed as parameter.
  +   */
  +  public
  +  void setRenderer(Class renderedClass, ObjectRenderer renderer) {
  +    rendererMap.put(renderedClass, renderer);
  +  }
  +
   
     /**
        Shutting down a hierarchy will <em>safely</em> close and remove
  
  
  
  1.2       +11 -0     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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LogManager.java	2001/09/02 20:05:39	1.1
  +++ LogManager.java	2001/09/05 06:45:28	1.2
  @@ -93,6 +93,17 @@
       return repositorySelector.getLoggerRepository().getLogger(name);
     }
   
  + /**
  +     Retrieve the appropriate {@link Logger} instance.  
  +  */
  +  public
  +  static 
  +  Logger getLogger(Class clazz) {
  +     // Delegate the actual manufacturing of the logger to the logger factory.
  +    return repositorySelector.getLoggerRepository().getLogger(clazz.getName());
  +  }
  +
  +
     /**
        Retrieve the appropriate {@link Logger} instance.  
     */
  
  
  
  1.18      +1 -1      jakarta-log4j/src/java/org/apache/log4j/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Makefile,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Makefile	2001/09/03 22:10:10	1.17
  +++ Makefile	2001/09/05 06:45:28	1.18
  @@ -9,7 +9,6 @@
   	AppenderSkeleton.java\
   	CategoryKey.java\
   	ProvisionNode.java\
  -	StressCategory.java \
   	FileAppender.java \
   	SimpleLayout.java\
   	TTCCLayout.java\
  @@ -28,6 +27,7 @@
           HTMLLayout.java\
           LogManager.java\
   
  +#	StressCategory.java \
   
   
   
  
  
  
  1.36      +18 -10    jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java
  
  Index: PropertyConfigurator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- PropertyConfigurator.java	2001/09/04 20:06:23	1.35
  +++ PropertyConfigurator.java	2001/09/05 06:45:28	1.36
  @@ -20,6 +20,8 @@
   import org.apache.log4j.spi.OptionHandler;
   import org.apache.log4j.spi.Configurator;
   import org.apache.log4j.spi.LoggerFactory;
  +import org.apache.log4j.spi.LoggerRepository;
  +import org.apache.log4j.spi.RendererSupport;
   import org.apache.log4j.or.ObjectRenderer;
   import org.apache.log4j.or.RendererMap;
   import org.apache.log4j.helpers.LogLog;
  @@ -293,7 +295,7 @@
   
     */
     public
  -  void doConfigure(String configFileName, Hierarchy hierarchy) {
  +  void doConfigure(String configFileName, LoggerRepository hierarchy) {
       Properties props = new Properties();
       try {
         FileInputStream istream = new FileInputStream(configFileName);
  @@ -315,7 +317,7 @@
     public 
     void configure(String configFilename) {
       new PropertyConfigurator().doConfigure(configFilename, 
  -					   Category.defaultHierarchy);
  +					   LogManager.getLoggerRepository());
     }
   
     /**
  @@ -326,7 +328,8 @@
     public
     static
     void configure(java.net.URL configURL) {
  -    new PropertyConfigurator().doConfigure(configURL, Category.defaultHierarchy);
  +    new PropertyConfigurator().doConfigure(configURL, 
  +					   LogManager.getLoggerRepository());
     }
   
   
  @@ -338,7 +341,8 @@
     static
     public
     void configure(Properties properties) {
  -    new PropertyConfigurator().doConfigure(properties, Category.defaultHierarchy);
  +    new PropertyConfigurator().doConfigure(properties, 
  +					   LogManager.getLoggerRepository());
     }
   
     /**
  @@ -382,7 +386,7 @@
        See {@link #doConfigure(String, Hierarchy)} for the expected format.
     */
     public
  -  void doConfigure(Properties properties, Hierarchy hierarchy) {
  +  void doConfigure(Properties properties, LoggerRepository hierarchy) {
   
       String value = properties.getProperty(LogLog.DEBUG_KEY);
       if(value == null) {
  @@ -421,7 +425,7 @@
        Read configuration options from url <code>configURL</code>.
      */
     public
  -  void doConfigure(java.net.URL configURL, Hierarchy hierarchy) {
  +  void doConfigure(java.net.URL configURL, LoggerRepository hierarchy) {
       Properties props = new Properties();
       LogLog.debug("Reading configuration from URL " + configURL);
       try {
  @@ -487,7 +491,7 @@
     */
     
       
  -  void configureRootCategory(Properties props, Hierarchy hierarchy) {
  +  void configureRootCategory(Properties props, LoggerRepository hierarchy) {
       String value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props);
       if(value == null) 
         LogLog.debug("Could not find root category information. Is this OK?");
  @@ -505,7 +509,7 @@
        Parse non-root elements, such non-root categories and renderers.
     */
     protected
  -  void parseCatsAndRenderers(Properties props, Hierarchy hierarchy) {
  +  void parseCatsAndRenderers(Properties props, LoggerRepository hierarchy) {
       Enumeration enum = props.propertyNames();
       while(enum.hasMoreElements()) {      
         String key = (String) enum.nextElement();
  @@ -520,7 +524,10 @@
         } else if(key.startsWith(RENDERER_PREFIX)) {
   	String renderedClass = key.substring(RENDERER_PREFIX.length());	
   	String renderingClass = OptionConverter.findAndSubst(key, props);
  -	addRenderer(hierarchy, renderedClass, renderingClass);
  +	if(hierarchy instanceof RendererSupport) {
  +	  addRenderer((RendererSupport) hierarchy, renderedClass,
  +		      renderingClass);
  +	}
         }      
       }
     }  
  @@ -657,6 +664,7 @@
        <code>filename</code> to reconfigure log4j. */
     public
     void doOnChange() {
  -    new PropertyConfigurator().doConfigure(filename, Logger.defaultHierarchy);
  +    new PropertyConfigurator().doConfigure(filename, 
  +					   LogManager.getLoggerRepository());
     }
   }
  
  
  
  1.7       +5 -5      jakarta-log4j/src/java/org/apache/log4j/StressCategory.java
  
  Index: StressCategory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/StressCategory.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StressCategory.java	2001/09/02 20:05:39	1.6
  +++ StressCategory.java	2001/09/05 06:45:28	1.7
  @@ -20,10 +20,10 @@
   class StressCategory {
   
     static Level[] level = new Level[] {Level.DEBUG, 
  -					       Level.INFO, 
  -					       Level.WARN,
  -					       Level.ERROR,
  -					       Level.FATAL};
  +				      Level.INFO, 
  +				      Level.WARN,
  +				      Level.ERROR,
  +				      Level.FATAL};
   
     static Level defaultLevel = Category.getRoot().getLevel();
     
  @@ -111,7 +111,7 @@
         }
         test();
         // Clear hash table for next round
  -      Category.defaultHierarchy.clear();
  +      LogManager.getLoggerRepository().clear();
       }
       else {      
         ct[n]  = null;
  
  
  
  1.9       +1 -1      jakarta-log4j/src/java/org/apache/log4j/config/PropertySetter.java
  
  Index: PropertySetter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/config/PropertySetter.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PropertySetter.java	2001/09/02 20:05:39	1.8
  +++ PropertySetter.java	2001/09/05 06:45:28	1.9
  @@ -222,7 +222,7 @@
         } else if ("false".equalsIgnoreCase(v)) {
           return Boolean.FALSE;
         }
  -    } else if (Level.class.isAssignableFrom(type)) {
  +    } else if (Priority.class.isAssignableFrom(type)) {
         return OptionConverter.toLevel(v, Level.DEBUG);
       }
       return null;
  
  
  
  1.28      +2 -1      jakarta-log4j/src/java/org/apache/log4j/helpers/OptionConverter.java
  
  Index: OptionConverter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/OptionConverter.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- OptionConverter.java	2001/09/02 21:40:36	1.27
  +++ OptionConverter.java	2001/09/05 06:45:28	1.28
  @@ -14,6 +14,7 @@
   import org.apache.log4j.Hierarchy;
   import org.apache.log4j.Level;
   import org.apache.log4j.spi.Configurator;
  +import org.apache.log4j.spi.LoggerRepository;
   import org.apache.log4j.PropertyConfigurator;
   
   // Contributors:   Avy Sharell (sharell@online.fr)
  @@ -429,7 +430,7 @@
        
     static
     public
  -  void selectAndConfigure(URL url, String clazz,  Hierarchy hierarchy) {
  +  void selectAndConfigure(URL url, String clazz, LoggerRepository hierarchy) {
   
      Configurator configurator = null;
      String filename = url.getFile();
  
  
  
  1.7       +8 -3      jakarta-log4j/src/java/org/apache/log4j/net/JMSSink.java
  
  Index: JMSSink.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/JMSSink.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JMSSink.java	2001/09/02 21:40:36	1.6
  +++ JMSSink.java	2001/09/05 06:45:28	1.7
  @@ -11,6 +11,9 @@
   import org.apache.log4j.spi.LoggingEvent;
   import org.apache.log4j.Category;
   import org.apache.log4j.Hierarchy;
  +import org.apache.log4j.LogManager;
  +import org.apache.log4j.spi.RendererSupport;
  +import org.apache.log4j.spi.LoggerRepository;
   import org.apache.log4j.or.MessageRenderer;
   import org.apache.log4j.PropertyConfigurator;
   import org.apache.log4j.helpers.LogLog;
  @@ -38,9 +41,11 @@
       String tcfBindingName = args[0];
       String topicBindingName = args[1];
       PropertyConfigurator.configure(args[2]);
  -
  -    Category.getDefaultHierarchy().addRenderer(Message.class, 
  -					       new MessageRenderer());
  +    
  +    LoggerRepository rep = LogManager.getLoggerRepository();
  +    if(rep instanceof RendererSupport) {
  +      ((RendererSupport) rep).setRenderer(Message.class, new MessageRenderer());
  +    }
   
       try {
         Context ctx = new InitialContext();      
  
  
  
  1.8       +2 -1      jakarta-log4j/src/java/org/apache/log4j/net/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/Makefile,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Makefile	2001/03/28 18:34:10	1.7
  +++ Makefile	2001/09/05 06:45:28	1.8
  @@ -4,11 +4,12 @@
   JSOURCES:=SyslogAppender.java\
   	JMSAppender.java\
   	JMSSink.java\
  -	SocketServer.java\
   	SimpleSocketServer.java\
   	SocketAppender.java\
   	SMTPAppender.java\
   	SocketNode.java\
  +
  +#	SocketServer.java\
   
   
   SUBDIRS :=test
  
  
  
  1.2       +3 -1      jakarta-log4j/src/java/org/apache/log4j/net/SimpleSocketServer.java
  
  Index: SimpleSocketServer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SimpleSocketServer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SimpleSocketServer.java	2001/01/08 01:37:56	1.1
  +++ SimpleSocketServer.java	2001/09/05 06:45:28	1.2
  @@ -12,7 +12,9 @@
   import java.io.IOException;
   
   import org.apache.log4j.Category;
  +import org.apache.log4j.LogManager;
   import org.apache.log4j.PropertyConfigurator;
  +import org.apache.log4j.spi.LoggerRepository;
   
   
   /**
  @@ -53,7 +55,7 @@
   	cat.info("Connected to client at " + socket.getInetAddress());
   	cat.info("Starting new socket node.");	
   	new Thread(new SocketNode(socket, 
  -				  Category.getDefaultHierarchy())).start();
  +				  LogManager.getLoggerRepository())).start();
         }
       }
       catch(Exception e) {
  
  
  
  1.13      +3 -3      jakarta-log4j/src/java/org/apache/log4j/net/SocketNode.java
  
  Index: SocketNode.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketNode.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SocketNode.java	2001/09/04 18:44:47	1.12
  +++ SocketNode.java	2001/09/05 06:45:28	1.13
  @@ -17,7 +17,7 @@
   
   
   import org.apache.log4j.*;
  -import org.apache.log4j.spi.LoggingEvent;
  +import org.apache.log4j.spi.*;
   
   // Contributors:  Moses Hohman <mm...@rainbow.uchicago.edu>
   
  @@ -36,13 +36,13 @@
   public class SocketNode implements Runnable {
   
     Socket socket;
  -  Hierarchy hierarchy;
  +  LoggerRepository hierarchy;
     ObjectInputStream ois;
   
     static Logger logger = Category.getInstance(SocketNode.class);
   
     public 
  -  SocketNode(Socket socket, Hierarchy hierarchy) {
  +  SocketNode(Socket socket, LoggerRepository hierarchy) {
       this.socket = socket;
       this.hierarchy = hierarchy;
       try {
  
  
  
  1.8       +7 -10     jakarta-log4j/src/java/org/apache/log4j/net/SocketServer.java
  
  Index: SocketServer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketServer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SocketServer.java	2001/01/24 16:15:26	1.7
  +++ SocketServer.java	2001/09/05 06:45:28	1.8
  @@ -15,11 +15,8 @@
   import java.io.File;
   import java.util.Hashtable;
   
  -import org.apache.log4j.Category;
  -import org.apache.log4j.Hierarchy;
  -import org.apache.log4j.Priority;
  -import org.apache.log4j.PropertyConfigurator;
  -import org.apache.log4j.spi.RootCategory;
  +import org.apache.log4j.*;
  +import org.apache.log4j.spi.*;
   
   
   /**
  @@ -86,7 +83,7 @@
   
     // key=inetAddress, value=hierarchy
     Hashtable hierarchyMap;
  -  Hierarchy genericHierarchy;
  +  LoggerRepository genericHierarchy;
     File dir;
   
     public 
  @@ -106,7 +103,7 @@
   	InetAddress inetAddress =  socket.getInetAddress();
   	cat.info("Connected to client at " + inetAddress);
   
  -	Hierarchy h = (Hierarchy) server.hierarchyMap.get(inetAddress);
  +	LoggerRepository h = (LoggerRepository) server.hierarchyMap.get(inetAddress);
   	if(h == null) {
   	  h = server.configureHierarchy(inetAddress);
   	} 
  @@ -157,7 +154,7 @@
   
     // This method assumes that there is no hiearchy for inetAddress
     // yet. It will configure one and return it.
  -  Hierarchy configureHierarchy(InetAddress inetAddress) {
  +  LoggerRepository configureHierarchy(InetAddress inetAddress) {
       cat.info("Locating configuration file for "+inetAddress);
       // We assume that the toSting method of InetAddress returns is in
       // the format hostname/d1.d2.d3.d4 e.g. torino/192.168.1.1
  @@ -185,7 +182,7 @@
       }
     }
   
  -  Hierarchy genericHierarchy() {
  +  LoggerRepository  genericHierarchy() {
       if(genericHierarchy == null) {
         File f = new File(dir, GENERIC+CONFIG_FILE_EXT);
         if(f.exists()) {
  @@ -194,7 +191,7 @@
         } else {
   	cat.warn("Could not find config file ["+f+
   		 "]. Will use the default hierarchy.");
  -	genericHierarchy = Category.getDefaultHierarchy();
  +	genericHierarchy = LogManager.getLoggerRepository();
         }
       }
       return genericHierarchy;
  
  
  
  1.7       +1 -1      jakarta-log4j/src/java/org/apache/log4j/performance/NotLogging.java
  
  Index: NotLogging.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/performance/NotLogging.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- NotLogging.java	2001/09/02 20:05:40	1.6
  +++ NotLogging.java	2001/09/05 06:45:29	1.7
  @@ -128,7 +128,7 @@
         // nothing to do
       } else if ("true".equals(args[0])) {
         System.out.println("Flagging as shipped code.");
  -      Category.getDefaultHierarchy().disableInfo();
  +      Category.getDefaultHierarchy().enable(Level.WARN);
       } else 
         Usage();
   
  
  
  
  1.6       +2 -2      jakarta-log4j/src/java/org/apache/log4j/spi/Configurator.java
  
  Index: Configurator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/Configurator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Configurator.java	2001/07/05 19:07:17	1.5
  +++ Configurator.java	2001/09/05 06:45:29	1.6
  @@ -7,7 +7,7 @@
   
   package org.apache.log4j.spi;
   
  -import org.apache.log4j.Hierarchy;
  +import org.apache.log4j.spi.LoggerRepository;
   import java.net.URL;
   
   /**
  @@ -26,5 +26,5 @@
        @param url The URL to parse
        @param hierarchy The hierarchy to operation upon.
      */
  -  void doConfigure(URL url, Hierarchy hierarchy);
  +  void doConfigure(URL url, LoggerRepository repository);
   }
  
  
  
  1.3       +23 -1     jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java
  
  Index: LoggerRepository.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LoggerRepository.java	2001/09/04 18:44:47	1.2
  +++ LoggerRepository.java	2001/09/05 06:45:29	1.3
  @@ -2,33 +2,55 @@
   package org.apache.log4j.spi;
   
   import org.apache.log4j.*;
  +import org.apache.log4j.or.RendererMap;
   import java.util.Enumeration;
   
   public interface LoggerRepository {
   
  +  boolean isDisabled(int level);
  +
  +  public
  +  void disable(String val);
  +
  +  public 
  +  void enable(Level level);
  +
  +  public
  +  void emitNoAppenderWarning(Category cat);
  +  
     public
     Logger getLogger(String name);
   
     public
     Logger getLogger(String name, LoggerFactory factory);
   
  -  
     public
     Logger getRootLogger();
   
     public
  +  abstract
     Logger exists(String name);
   
     public
  +  abstract
     void shutdown();
     
     public
     Enumeration getCurrentLoggers();
   
  +  /**
  +     @deprecated Please use {@link getCurrentLoggers} instead.
  +   */
  +  public
  +  Enumeration getCurrentCategories();
  +
  +
     public
  +  abstract
     void fireAddAppenderEvent(Category cat, Appender appender);
   
     public
  +  abstract
     void resetConfiguration();
   
   }
  
  
  
  1.23      +8 -2      jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java
  
  Index: LoggingEvent.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- LoggingEvent.java	2001/09/04 20:06:23	1.22
  +++ LoggingEvent.java	2001/09/05 06:45:29	1.23
  @@ -210,8 +210,14 @@
          if(message instanceof String) 
   	 renderedMessage = (String) message;
          else {
  -	 renderedMessage=
  -            logger.getHierarchy().getRendererMap().findAndRender(message);
  +	 LoggerRepository repository = logger.getHierarchy();
  + 
  +	 if(repository instanceof RendererSupport) {
  +	   RendererSupport rs = (RendererSupport) repository;
  +	   renderedMessage= rs.getRendererMap().findAndRender(message);
  +	 } else {
  +	   renderedMessage = message.toString();
  +	 }
          }
        }
        return renderedMessage;
  
  
  
  1.12      +1 -0      jakarta-log4j/src/java/org/apache/log4j/spi/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/Makefile,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Makefile	2001/09/03 22:39:33	1.11
  +++ Makefile	2001/09/05 06:45:29	1.12
  @@ -17,6 +17,7 @@
     RepositorySelector.java\
     DefaultRepositorySelector.java\
     LoggerRepository.java\
  +  RendererSupport.java\
   
   SUBDIRS := 
   
  
  
  
  1.5       +2 -6      jakarta-log4j/src/java/org/apache/log4j/test/ShippedCodeFlagTest.java
  
  Index: ShippedCodeFlagTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/ShippedCodeFlagTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ShippedCodeFlagTest.java	2001/02/13 17:37:32	1.4
  +++ ShippedCodeFlagTest.java	2001/09/05 06:45:29	1.5
  @@ -1,11 +1,7 @@
   
   package org.apache.log4j.test;
   
  -import org.apache.log4j.Category;
  -import org.apache.log4j.BasicConfigurator;
  -import org.apache.log4j.PropertyConfigurator;
  -import org.apache.log4j.SimpleLayout;
  -import org.apache.log4j.ConsoleAppender;
  +import org.apache.log4j.*;
   	
   public class ShippedCodeFlagTest {
   
  @@ -33,7 +29,7 @@
       else { 
         PropertyConfigurator.configure(type);
       }
  -    Category.getDefaultHierarchy().disableInfo();       
  +    Category.getDefaultHierarchy().enable(Level.WARN);       
       CAT.debug("Hello world");
     }
   
  
  
  
  1.5       +3 -7      jakarta-log4j/src/java/org/apache/log4j/test/SysoutConfigurator.java
  
  Index: SysoutConfigurator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/SysoutConfigurator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SysoutConfigurator.java	2001/02/13 17:37:32	1.4
  +++ SysoutConfigurator.java	2001/09/05 06:45:29	1.5
  @@ -1,12 +1,8 @@
   package org.apache.log4j.test;
   
   import java.util.Properties;
  -import org.apache.log4j.Category;
  -import org.apache.log4j.Hierarchy;
  -import org.apache.log4j.spi.Configurator;
  -import org.apache.log4j.spi.LoggingEvent;
  -import org.apache.log4j.SimpleLayout;
  -import org.apache.log4j.ConsoleAppender;
  +import org.apache.log4j.spi.*;
  +import org.apache.log4j.*;
   
   /**
    * This configurator simply always adds a FileAppender writing to
  @@ -16,7 +12,7 @@
   public class SysoutConfigurator implements Configurator {
     public
     void
  -  doConfigure(java.net.URL url, Hierarchy hierarchy) {
  +  doConfigure(java.net.URL url,  LoggerRepository hierarchy) {
       Category.getRoot().addAppender(
           new ConsoleAppender(
               new SimpleLayout(), ConsoleAppender.SYSTEM_OUT));
  
  
  
  1.3       +10 -6     jakarta-log4j/src/java/org/apache/log4j/test/UnitTestLogger.java
  
  Index: UnitTestLogger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/UnitTestLogger.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- UnitTestLogger.java	2001/09/04 18:44:48	1.2
  +++ UnitTestLogger.java	2001/09/05 06:45:29	1.3
  @@ -57,7 +57,7 @@
     public
     void tearDown() {
       // Regular users should not use the clear method lightly!
  -    Logger.getDefaultHierarchy().clear();
  +    //Logger.getDefaultHierarchy().clear();
       BasicConfigurator.resetConfiguration();
       a1 = null;
       a2 = null;
  @@ -204,8 +204,9 @@
       Logger root = Category.getRoot();    
       root.addAppender(caRoot);
   
  -    Hierarchy h = Logger.getDefaultHierarchy();
  -    h.disableDebug();
  +    LoggerRepository h = Category.getDefaultHierarchy();
  +    //h.disableDebug();
  +    h.enable(Level.INFO);
       assertEquals(caRoot.counter, 0);     
   
       root.debug(MSG); assertEquals(caRoot.counter, 0);  
  @@ -213,14 +214,16 @@
       root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 2);  
       root.warn(MSG); assertEquals(caRoot.counter, 3);  
   
  -    h.disableInfo();
  +    //h.disableInfo();
  +    h.enable(Level.WARN);
       root.debug(MSG); assertEquals(caRoot.counter, 3);  
       root.info(MSG); assertEquals(caRoot.counter, 3);  
       root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 4);  
       root.error(MSG); assertEquals(caRoot.counter, 5);  
       root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6);  
   
  -    h.disableAll();
  +    //h.disableAll();
  +    h.enable(Level.OFF);
       root.debug(MSG); assertEquals(caRoot.counter, 6);  
       root.info(MSG); assertEquals(caRoot.counter, 6);  
       root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6);  
  @@ -228,7 +231,8 @@
       root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6);  
       root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6);  
   
  -    h.disable(Level.FATAL);
  +    //h.disable(Level.FATAL);
  +    h.enable(Level.OFF);
       root.debug(MSG); assertEquals(caRoot.counter, 6);  
       root.info(MSG); assertEquals(caRoot.counter, 6);  
       root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6);  
  
  
  
  1.33      +20 -30    jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java
  
  Index: DOMConfigurator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- DOMConfigurator.java	2001/09/04 18:44:48	1.32
  +++ DOMConfigurator.java	2001/09/05 06:45:29	1.33
  @@ -13,24 +13,11 @@
   
   import org.w3c.dom.*;
   import java.lang.reflect.Method;
  -import org.apache.log4j.Category;
  -import org.apache.log4j.Logger;
  -import org.apache.log4j.spi.OptionHandler;
  -import org.apache.log4j.spi.ErrorHandler;
  -import org.apache.log4j.spi.AppenderAttachable;
  -import org.apache.log4j.spi.Configurator;
  -import org.apache.log4j.spi.LoggerFactory;
  -import org.apache.log4j.Appender;
  -import org.apache.log4j.Layout;
  -import org.apache.log4j.Level;
  -import org.apache.log4j.Hierarchy;
  -import org.apache.log4j.BasicConfigurator;
  -import org.apache.log4j.spi.Filter;
  -import org.apache.log4j.helpers.LogLog;
  +import org.apache.log4j.*;
  +import org.apache.log4j.spi.*;
  +import org.apache.log4j.helpers.*;
   import org.apache.log4j.config.PropertySetter;
  -import org.apache.log4j.helpers.OptionConverter;
  -import org.apache.log4j.helpers.FileWatchdog;
  -import org.apache.log4j.helpers.Loader;
  +
   import org.xml.sax.InputSource;
   import java.io.FileInputStream;
   import java.io.InputStream;
  @@ -284,7 +271,7 @@
        Used internally to parse an category element.
     */
     protected
  -  void parseCategory (Element categoryElement, Hierarchy hierarchy) {
  +  void parseCategory (Element categoryElement, LoggerRepository hierarchy) {
       // Create a new org.apache.log4j.Category object from the <category> element.
       String catName = subst(categoryElement.getAttribute(NAME_ATTR));
   
  @@ -330,7 +317,7 @@
        Used internally to parse the category factory element.
     */
     protected
  -  void parseCategoryFactory(Element factoryElement, Hierarchy hierarchy) {
  +  void parseCategoryFactory(Element factoryElement, LoggerRepository hierarchy) {
       String className = subst(factoryElement.getAttribute(CLASS_ATTR));
   
       if(EMPTY_STR.equals(className)) {
  @@ -366,7 +353,7 @@
        Used internally to parse the roor category element.
     */
     protected
  -  void parseRoot (Element rootElement, Hierarchy hierarchy) {
  +  void parseRoot (Element rootElement, LoggerRepository hierarchy) {
       Logger root = hierarchy.getRootLogger();
       // category configuration needs to be atomic
       synchronized(root) {    
  @@ -458,10 +445,12 @@
     }
   
     protected 
  -  void parseRenderer(Element element, Hierarchy hierarchy) {
  +  void parseRenderer(Element element, LoggerRepository hierarchy) {
       String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR));
       String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR));
  -    addRenderer(hierarchy, renderedClass, renderingClass);
  +    if(hierarchy instanceof RendererSupport) {
  +      addRenderer((RendererSupport) hierarchy, renderedClass, renderingClass);
  +    }
     }
   
     /**
  @@ -562,7 +551,7 @@
     }
   
     public
  -  void doConfigure(String filename, Hierarchy hierarchy) {
  +  void doConfigure(String filename, LoggerRepository hierarchy) {
       FileInputStream fis = null;
       try {
         fis = new FileInputStream(filename);
  @@ -582,7 +571,7 @@
     
   
     public
  -  void doConfigure(URL url, Hierarchy hierarchy) {
  +  void doConfigure(URL url, LoggerRepository hierarchy) {
       try {
         doConfigure(url.openStream(), hierarchy);
       } catch(IOException e) {
  @@ -596,7 +585,7 @@
   
     */
     public
  -  void doConfigure(InputStream inputStream, Hierarchy hierarchy) 
  +  void doConfigure(InputStream inputStream, LoggerRepository hierarchy) 
                                             throws FactoryConfigurationError {
       doConfigure(new InputSource(inputStream), hierarchy);
     }
  @@ -607,7 +596,7 @@
   
     */
     public
  -  void doConfigure(Reader reader, Hierarchy hierarchy) 
  +  void doConfigure(Reader reader, LoggerRepository hierarchy) 
                                             throws FactoryConfigurationError {
       doConfigure(new InputSource(reader), hierarchy);
     }
  @@ -618,7 +607,7 @@
   
     */
     protected
  -  void doConfigure(InputSource inputSource, Hierarchy hierarchy) 
  +  void doConfigure(InputSource inputSource, LoggerRepository hierarchy) 
                                             throws FactoryConfigurationError {
       DocumentBuilderFactory dbf = null;
       try { 
  @@ -685,7 +674,7 @@
        
     */
     protected
  -  void parse(Element element, Hierarchy hierarchy) {
  +  void parse(Element element, LoggerRepository hierarchy) {
   
       String rootElementName = element.getTagName();
   
  @@ -725,7 +714,7 @@
       // DISABLE_OVERRIDE attribute is returned as the empty string when
       // it is not specified in the XML file.
       if(!override.equals("") && !override.equals("null")) {
  -      hierarchy.overrideAsNeeded(override);
  +      //hierarchy.overrideAsNeeded(override);
       }
   
       String disableStr = subst(element.getAttribute(DISABLE_ATTR));
  @@ -805,6 +794,7 @@
        <code>filename</code> to reconfigure log4j. */
     public
     void doOnChange() {
  -    new DOMConfigurator().doConfigure(filename, Category.getDefaultHierarchy());
  +    new DOMConfigurator().doConfigure(filename, 
  +				      LogManager.getLoggerRepository());
     }
   }
  
  
  
  1.3       +4 -4      jakarta-log4j/src/java/org/apache/log4j/xml/examples/XLogger.java
  
  Index: XLogger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/examples/XLogger.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XLogger.java	2001/09/04 20:06:23	1.2
  +++ XLogger.java	2001/09/05 06:45:29	1.3
  @@ -85,7 +85,7 @@
        XLevel#LETHAL}.  */
     public
     void lethal(String message, Throwable t) { 
  -    if(hierarchy.isDisabled(XLevel.LETHAL_INT)) 
  +    if(repository.isDisabled(XLevel.LETHAL_INT)) 
         return;
       if(XLevel.LETHAL.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, XLevel.LETHAL, message, t);
  @@ -96,7 +96,7 @@
        XLevel#LETHAL}.  */
     public
     void lethal(String message) { 
  -    if(hierarchy.isDisabled(XLevel.LETHAL_INT)) 
  +    if(repository.isDisabled(XLevel.LETHAL_INT)) 
         return;
       if(XLevel.LETHAL.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, XLevel.LETHAL, message, null);
  @@ -139,7 +139,7 @@
     */
     public
     void trace(String message, Throwable t) { 
  -    if(hierarchy.isDisabled(XLevel.TRACE_INT))
  +    if(repository.isDisabled(XLevel.TRACE_INT))
         return;   
       if(XLevel.TRACE.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, XLevel.TRACE, message, t);
  @@ -150,7 +150,7 @@
     */
     public
     void trace(String message) { 
  -    if(hierarchy.isDisabled(XLevel.TRACE_INT))
  +    if(repository.isDisabled(XLevel.TRACE_INT))
         return;   
       if(XLevel.TRACE.isGreaterOrEqual(this.getChainedLevel()))
         forcedLog(FQCN, XLevel.TRACE, message, null);
  
  
  
  1.6       +2 -4      jakarta-log4j/src/java/org/apache/log4j/xml/test/DisableOverrideTest.java
  
  Index: DisableOverrideTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/test/DisableOverrideTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DisableOverrideTest.java	2001/05/18 20:45:18	1.5
  +++ DisableOverrideTest.java	2001/09/05 06:45:29	1.6
  @@ -1,10 +1,8 @@
   
   package org.apache.log4j.xml.test;
   
  -import org.apache.log4j.Category;
   import org.apache.log4j.xml.DOMConfigurator;
  -import org.apache.log4j.SimpleLayout;
  -import org.apache.log4j.FileAppender;
  +import org.apache.log4j.*;
   
   //import org.xml.sax.InputSource;
   //import org.apache.log4j.xml.examples.ReportParserError;
  @@ -23,7 +21,7 @@
         Usage("Wrong number of arguments.");
        
       DOMConfigurator.configure(configFile);
  -    Category.getDefaultHierarchy().disableInfo();       
  +    Category.getDefaultHierarchy().enable(Level.WARN);       
       CAT.debug("Hello world");
     }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-cvs-help@jakarta.apache.org