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/06/26 12:57:54 UTC

cvs commit: jakarta-log4j/src/java/org/apache/log4j/examples MyCategoryTest.java MyCategory.java

ceki        01/06/26 03:57:52

  Modified:    src/java/org/apache/log4j Category.java
               src/java/org/apache/log4j/examples MyCategory.java
  Added:       src/java/org/apache/log4j/examples MyCategoryTest.java
  Log:
  Documentation changes.
  
  Revision  Changes    Path
  1.33      +1 -2      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.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- Category.java	2001/06/26 10:51:42	1.32
  +++ Category.java	2001/06/26 10:57:34	1.33
  @@ -168,8 +168,7 @@
   
     /**
        The fully qualified name of the Category class. See also the 
  -     getSubclasses should
  -     create their own private FQCN variable.  */
  +     getFQCN method. */
     private static final String FQCN = Category.class.getName();
     
     protected ResourceBundle resourceBundle;
  
  
  
  1.10      +5 -2      jakarta-log4j/src/java/org/apache/log4j/examples/MyCategory.java
  
  Index: MyCategory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/examples/MyCategory.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MyCategory.java	2001/06/26 10:51:56	1.9
  +++ MyCategory.java	2001/06/26 10:57:42	1.10
  @@ -27,8 +27,8 @@
   
     // It's usually a good idea to add a dot suffix to the fully
     // qualified class name. This makes caller localization to work
  -  // properly even from classes that match MyCategory such as
  -  // MyCategoryTest.
  +  // properly even from classes that have the almostthe same fully
  +  // qualified class name as MyCategory, e.g. MyCategoryTest.
     static String FQCN = MyCategory.class.getName() + ".";
   
     // It's enough to instantiate a factory once and for all.
  @@ -49,6 +49,9 @@
       super.debug(message + " world.");    
     }
     
  +  /**
  +     This makes caller localization to work properly.
  +   */
     protected
     String getFQCN() {
       return MyCategory.FQCN;
  
  
  
  1.1                  jakarta-log4j/src/java/org/apache/log4j/examples/MyCategoryTest.java
  
  Index: MyCategoryTest.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software
   * License version 1.1, a copy of which has been included with this
   * distribution in the LICENSE.APL file.  */
  
  package org.apache.log4j.examples;
  
  import org.apache.log4j.*;
  import org.apache.log4j.spi.CategoryFactory;
  import org.apache.log4j.xml.DOMConfigurator;
  import org.apache.log4j.xml.examples.XPriority;
  import org.apache.log4j.PropertyConfigurator;
  import org.apache.log4j.helpers.LogLog;
  
  /**
     A simple example showing category subclassing. 
  
     <p>The example should make it clear that subclasses follow the
     hierarchy. You should also try running this example with a <a
     href="doc-files/mycat.bad">bad</a> and <a
     href="doc-files/mycat.good">good</a> configuration file samples.
  
     <p>See <b><a
     href="doc-files/MyCategory.java">source code</a></b> for more details.
  */
  public class MyCategoryTest {
  
    /**
       When called wihtout arguments, this program will just print 
       <pre>
         DEBUG [main] some.cat - Hello world.
       </pre>
       and exit.
       
       <b>However, it can be called with a configuration file in XML or
       properties format.
  
     */
    static public void main(String[] args) {
      
      if(args.length == 0) {
        // Note that the appender is added to root but that the log
        // request is made to an instance of MyCategory. The output still
        // goes to System.out.
        Category root = Category.getRoot();
        Layout layout = new PatternLayout("%p [%t] %c (%F:%L) - %m%n");
        root.addAppender(new ConsoleAppender(layout, ConsoleAppender.SYSTEM_OUT));
      }
      else if(args.length == 1) {
        if(args[0].endsWith("xml")) {
  	DOMConfigurator.configure(args[0]);
        } else {
  	PropertyConfigurator.configure(args[0]);
        }
      } else {
        usage("Incorrect number of parameters.");
      }
      try {
        MyCategory c = (MyCategory) MyCategory.getInstance("some.cat");    
        c.trace("Hello");
        c.debug("Hello");
      } catch(ClassCastException e) {
        LogLog.error("Did you forget to set the factory in the config file?", e);
      }
    }
  
    static
    void usage(String errMsg) {
      System.err.println(errMsg);
      System.err.println("\nUsage: "+MyCategory.class.getName() + "[configFile]\n"
                  + " where *configFile* is an optional configuration file, "+
  		       "either in properties or XML format.");
      System.exit(1);
    }
  }
  
  
  

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