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 21:53:42 UTC

cvs commit: jakarta-log4j/src/java/org/apache/log4j/test/witness fqcn.1

ceki        01/06/26 12:53:42

  Added:       src/java/org/apache/log4j/test FQCNTest.java fqcn
               src/java/org/apache/log4j/test/witness fqcn.1
  Log:
  Added test on the extraction of caller info from subclasses of Category.
  
  Revision  Changes    Path
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/FQCNTest.java
  
  Index: FQCNTest.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.test; 
  
  import org.apache.log4j.*;
  import org.apache.log4j.spi.*;
  //import org.apache.log4j.xml.examples.XPriority;
  
  /** 
     This class is a shallow test of the various appenders and
     layouts. It also tests their reading of the configuration file.
     @author  Ceki Gülcü
  */
  public class FQCNTest {
  
    static Category cat = Category.getInstance("dddd");
    
    public 
    static 
    void main(String argv[]) throws Exception  {
      if(argv.length == 1) 
        init(argv[0]);
      else 
        usage("Wrong number of arguments.");
      test();
    }
  
    static
    void usage(String msg) {
      System.err.println(msg);
      System.err.println( "Usage: java "+ FQCNTest.class.getName()+"outputFile");
      System.exit(1);
    } 
  
    static 
    void init(String file) throws Exception {
      Layout layout = new PatternLayout("%p %c (%C{2}#%M) - %m%n");
      FileAppender appender = new FileAppender(layout, file, false);
      appender.setLayout(layout);
      Category root = Category.getRoot();
      root.addAppender(appender);
    }
  
  
    static
    void test() {
      X1Category x1 = X1Category.getLogger("x1");
      x1.debug("hello");    
      x1.debug1("hello");  
      x1.debug2("hello");  
    }  
  }
  
  
  // ==========================================================================
  // ==========================================================================
  // ==========================================================================
  
  class X1Category extends Category {
    static String FQCN = X1Category.class.getName() + ".";
  
    private static X1CategoryFactory factory = new X1CategoryFactory();
  
    public X1Category(String name) {
      super(name);
    }
  
    public 
    void debug1(Object message) {    
      super.log(FQCN, Priority.DEBUG, message + " world.", null);    
    }
  
    public
    void debug2(Object message) {
      super.log(FQCN, Priority.DEBUG, message, null); 
    }
  
    
    protected
    String getFQCN() {
      return X1Category.FQCN;
    }
  
    public 
    static
    X1Category getLogger(String name) {
      return ((X1Category) Category.getInstance(name, factory)); 
    }
  }
  
  class X1CategoryFactory implements CategoryFactory {
  
    public
    X1CategoryFactory() {
    }
    
    public
    Category makeNewCategoryInstance(String name) {
      return new X1Category(name);
    }
  }
  
  
  
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/fqcn
  
  Index: fqcn
  ===================================================================
  #!/bin/bash
  
  # A regression test to check the caller localization in subclasses of Category
  
  # Read the .functions file
  . .functions
  
  # If set, allows to skip tests 
  declare -i start=$1
  echo "start=$start TEMP=$TEMP OUTPUT=$OUTPUT"
  
  function testFQCN {
   layout=$1
   
   echo -n "FQCN test $TEST - "
   java org.apache.log4j.test.FQCNTest $OUTPUT
  
   check witness/fqcn.$TEST $OUTPUT; echo "OK."
  }
  
  
  
  declare -i TEST
  
  TEST=1
  if [ $TEST -ge $start ]; then
    testFQCN 
  fi
  
  
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/witness/fqcn.1
  
  Index: fqcn.1
  ===================================================================
  DEBUG x1 (test.FQCNTest#test) - hello
  DEBUG x1 (test.FQCNTest#test) - hello world.
  DEBUG x1 (test.FQCNTest#test) - hello
  
  
  

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