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