ceki        01/09/24 16:40:49

  Modified:    src/java/org/apache/log4j/xml DOMConfigurator.java log4j.dtd
               src/java/org/apache/log4j/xml/test do1.xml test1.xml
  Log:
  Added support for logger and level elements.
  
  Revision  Changes    Path
  1.35      +15 -11    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.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- DOMConfigurator.java      2001/09/06 22:40:39     1.34
  +++ DOMConfigurator.java      2001/09/24 23:40:48     1.35
  @@ -65,12 +65,14 @@
     static final String PARAM_TAG      = "param";
     static final String LAYOUT_TAG     = "layout";
     static final String CATEGORY               = "category";
  +  static final String LOGGER         = "logger";
     static final String CATEGORY_FACTORY_TAG  = "categoryFactory";
     static final String NAME_ATTR              = "name";
     static final String CLASS_ATTR        = "class";
     static final String VALUE_ATTR     = "value";
     static final String ROOT_TAG               = "root";
  -  static final String LEVEL_TAG      = "level";
  +  static final String LEVEL_TAG              = "level";
  +  static final String PRIORITY_TAG      = "priority";
     static final String FILTER_TAG     = "filter";
     static final String ERROR_HANDLER_TAG      = "errorHandler";
     static final String REF_ATTR               = "ref";
  @@ -271,21 +273,21 @@
        Used internally to parse an category element.
     */
     protected
  -  void parseCategory (Element categoryElement, LoggerRepository hierarchy) {
  +  void parseCategory (Element loggerElement, LoggerRepository hierarchy) {
       // Create a new org.apache.log4j.Category object from the <category> element.
  -    String catName = subst(categoryElement.getAttribute(NAME_ATTR));
  +    String catName = subst(loggerElement.getAttribute(NAME_ATTR));
   
       Logger cat;    
   
  -    String className = subst(categoryElement.getAttribute(CLASS_ATTR));
  +    String className = subst(loggerElement.getAttribute(CLASS_ATTR));
   
   
       if(EMPTY_STR.equals(className)) {
  -      LogLog.debug("Retreiving an instance of org.apache.log4j.Category.");
  +      LogLog.debug("Retreiving an instance of org.apache.log4j.Logger.");
         cat = hierarchy.getLogger(catName);
       }
       else {
  -      LogLog.debug("Desired category sub-class: ["+className+']');
  +      LogLog.debug("Desired logger sub-class: ["+className+']');
          try {  
         Class clazz = Loader.loadClass(className);
         Method getInstanceMethod = clazz.getMethod("getLogger", 
  @@ -303,12 +305,12 @@
       // configuration is in progress.
       synchronized(cat) {
         boolean additivity = OptionConverter.toBoolean(
  -                           subst(categoryElement.getAttribute(ADDITIVITY_ATTR)),
  +                           subst(loggerElement.getAttribute(ADDITIVITY_ATTR)),
                           true);
       
         LogLog.debug("Setting ["+cat.getName()+"] additivity to ["+additivity+"].");
         cat.setAdditivity(additivity);
  -      parseChildrenOfCategoryElement(categoryElement, cat, false);
  +      parseChildrenOfLoggerElement(loggerElement, cat, false);
       }
     }
   
  @@ -357,7 +359,7 @@
       Logger root = hierarchy.getRootLogger();
       // category configuration needs to be atomic
       synchronized(root) {    
  -      parseChildrenOfCategoryElement(rootElement, root, true);
  +      parseChildrenOfLoggerElement(rootElement, root, true);
       }
     }
   
  @@ -366,7 +368,7 @@
        Used internally to parse the children of a category element.
     */
     protected
  -  void parseChildrenOfCategoryElement(Element catElement,
  +  void parseChildrenOfLoggerElement(Element catElement,
                                      Logger cat, boolean isRoot) {
       
       PropertySetter propSetter = new PropertySetter(cat);
  @@ -400,6 +402,8 @@
          
        } else if(tagName.equals(LEVEL_TAG)) {
          parseLevel(currentElement, cat, isRoot);      
  +     } else if(tagName.equals(PRIORITY_TAG)) {
  +       parseLevel(currentElement, cat, isRoot);
        } else if(tagName.equals(PARAM_TAG)) {
             setParameter(currentElement, propSetter);
        }
  @@ -759,7 +763,7 @@
        currentElement = (Element) currentNode;
        tagName = currentElement.getTagName();
   
  -     if (tagName.equals(CATEGORY)) {
  +     if (tagName.equals(CATEGORY) || tagName.equals(LOGGER)) {
          parseCategory(currentElement, hierarchy);
        } else if (tagName.equals(ROOT_TAG)) {
          parseRoot(currentElement, hierarchy);
  
  
  
  1.10      +26 -31    jakarta-log4j/src/java/org/apache/log4j/xml/log4j.dtd
  
  Index: log4j.dtd
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/log4j.dtd,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- log4j.dtd 2001/06/25 06:58:09     1.9
  +++ log4j.dtd 2001/09/24 23:40:48     1.10
  @@ -6,7 +6,8 @@
   elements,appender elements, categories and an optional root
   element. -->
   
  -<!ELEMENT log4j:configuration (renderer*, 
appender*,category*,root?,categoryFactory?)>
  +<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
  +                               categoryFactory?)>
   
   <!-- The disable attribute takes a priority value such that all -->
   <!-- logging statements with a prioroty equal or below this value are -->
  @@ -35,26 +36,6 @@
     configDebug              (true|false|null)  "null"
   >
   
  -
  -<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
  -<!-- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING   -->
  -<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
  -
  -<!-- Use "log4j:configuration" above instead of the "configuration" -->
  -<!-- element. -->
  -
  -<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
  -<!-- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING   -->
  -<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
  -
  -<!ELEMENT configuration (renderer*, appender*,category*,root?,categoryFactory?)>
  -<!ATTLIST configuration
  -  disable                  (debug|info|warn|error|fatal|null)  "null"
  -  disableOverride          (true|false|null)  "null"
  -  configDebug              (true|false|null)  "null"
  ->
  -
  -
   <!-- renderer elements allow the user to customize the conversion of  -->
   <!-- message objects to String.                                       -->
   
  @@ -78,8 +59,6 @@
     class              CDATA   #REQUIRED
   >
   
  -
  -
   <!ELEMENT filter (param*)>
   <!ATTLIST filter
     class              CDATA   #REQUIRED
  @@ -94,30 +73,47 @@
      class        CDATA   #REQUIRED 
   >
   
  -
  -
   <!ELEMENT param EMPTY>
   <!ATTLIST param
     name               CDATA   #REQUIRED
     value              CDATA   #REQUIRED
   >
  +
   
  -<!-- The priority class is org.apache.log4j.Priority by default -->
  +<!-- The priority class is org.apache.log4j.Level by default -->
   <!ELEMENT priority (param*)>
   <!ATTLIST priority
     class   CDATA      #IMPLIED
     value        CDATA #REQUIRED
   >
   
  -<!-- If no priority element is specified, then the configurator MUST not -->
  -<!-- touch the priority of the named category. -->
  -<!ELEMENT category (param*, priority?, appender-ref*)>
  +<!-- The level class is org.apache.log4j.Level by default -->
  +<!ELEMENT level (param*)>
  +<!ATTLIST level
  +  class   CDATA      #IMPLIED
  +  value        CDATA #REQUIRED
  +>
  +
  +
  +<!-- If no level element is specified, then the configurator MUST not -->
  +<!-- touch the level of the named category. -->
  +<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
   <!ATTLIST category
     class         CDATA   #IMPLIED
     name               CDATA   #REQUIRED
     additivity (true|false) "true"  
   >
   
  +<!-- If no level element is specified, then the configurator MUST not -->
  +<!-- touch the level of the named logger. -->
  +<!ELEMENT logger (param*,level?,appender-ref*)>
  +<!ATTLIST logger
  +  class         CDATA   #IMPLIED
  +  name               CDATA   #REQUIRED
  +  additivity (true|false) "true"  
  +>
  +
  +
   <!ELEMENT categoryFactory (param*)>
   <!ATTLIST categoryFactory 
      class        CDATA #REQUIRED>
  @@ -130,8 +126,7 @@
   <!-- If no priority element is specified, then the configurator MUST not -->
   <!-- touch the priority of root. -->
   <!-- The root category always exists and cannot be subclassed. -->
  -<!ELEMENT root (param*, priority?, appender-ref*)>
  -
  +<!ELEMENT root (param*, level?, appender-ref*)>
   
   
   <!-- ==================================================================== -->
  
  
  
  1.7       +12 -12    jakarta-log4j/src/java/org/apache/log4j/xml/test/do1.xml
  
  Index: do1.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/test/do1.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- do1.xml   2001/05/18 20:45:18     1.6
  +++ do1.xml   2001/09/24 23:40:48     1.7
  @@ -9,16 +9,16 @@
       with a specifed DTD 
    -->
   <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
  -     <appender name="A1" class="org.apache.log4j.ConsoleAppender">
  -            <layout class="org.apache.log4j.PatternLayout">
  -             <param name="ConversionPattern"
  -                    value="TEST1: %-5p %c{2} - %m%n"/>
  -            </layout>            
  -     </appender>
  -             
  -     <root>
  -        <priority value ="debug" />
  -        <appender-ref ref="A1" />
  -     </root>
  -     
  +  <appender name="A1" class="org.apache.log4j.ConsoleAppender">
  +    <layout class="org.apache.log4j.PatternLayout">
  +      <param name="ConversionPattern"
  +     value="TEST1: %-5p %c{2} - %m%n"/>
  +    </layout>            
  +  </appender>
  +  
  +  <root>
  +    <priority value ="debug" />
  +    <appender-ref ref="A1" />
  +  </root>
  +  
   </log4j:configuration>
  
  
  
  1.7       +2 -2      jakarta-log4j/src/java/org/apache/log4j/xml/test/test1.xml
  
  Index: test1.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/test/test1.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- test1.xml 2001/06/14 10:07:51     1.6
  +++ test1.xml 2001/09/24 23:40:48     1.7
  @@ -20,10 +20,10 @@
                </layout>               
        </appender>
        
  -     <category name="org.apache.log4j.xml">
  +     <logger name="org.apache.log4j.xml">
          <priority value="debug" />
          <appender-ref ref="A1" />
  -     </category>
  +     </logger>
        
        <root>
           <priority value ="debug" />
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to