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/07/26 00:30:05 UTC

cvs commit: jakarta-log4j/src/java/org/apache/log4j/test DRFATest.java drfa drfa.pl

ceki        01/07/25 15:30:05

  Added:       src/java/org/apache/log4j/test DRFATest.java drfa drfa.pl
  Log:
  Tests for DailyRollingFileAppender
  
  Revision  Changes    Path
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/DRFATest.java
  
  Index: DRFATest.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.txt file.
   */
  
  package org.apache.log4j.test; 
  import org.apache.log4j.BasicConfigurator;
  import org.apache.log4j.Category;
  import org.apache.log4j.Layout;
  import org.apache.log4j.PatternLayout;
  import org.apache.log4j.Appender;
  import org.apache.log4j.DailyRollingFileAppender;
  
  import java.io.IOException;
  import java.util.Enumeration;
  
  /** 
     This class is used in testing the DailyRollingFileAppender.
     @author  Ceki Gülcü
  */
  public class DRFATest {
    
    static Category cat = Category.getInstance(DRFATest.class);
  
    static int limit;
  
    public 
    static 
    void main(String argv[]) {
      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 "+ DRFATest.class.getName()+" length");
      System.exit(1);
    }
  
    static 
    void init(String limitStr) {
      try {
        limit =  Integer.parseInt(limitStr);
      } catch(java.lang.NumberFormatException e) {
        usage("Could not convert "+limitStr+" to int");
      }
    }
  
    static 
    void test() {
  
      Layout layout = new PatternLayout("%d{yyyy-MM-dd-HH-mm ss:SSS} %m%n");
      try {
        Appender appender = new DailyRollingFileAppender(layout, "test", 
  						       "'.'yyyy-MM-dd-HH-mm" );
        appender.setName("drfa");
        BasicConfigurator.configure(appender);
      } catch(Exception e) {
        System.err.println("Could not create DailyRollingFileAppender");
        e.printStackTrace();
      }
  
      System.out.println("Limit: "+limit);
  
      for(int i = 0; i < limit; i++) {
        System.out.println(i);
        cat.debug("Message"+ i);
        delay(10000);
  
        if((i % 7) == 0) {
  	System.out.println("Sleeping 1min.");
  	delay(60000);
  	System.err.println("");
        }
      }
    }
  
  
    static
    void delay(int amount) {
      try {
        Thread.currentThread().sleep(amount);
      }
      catch(Exception e) {}
    }
  }
  
  
  
  
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/drfa
  
  Index: drfa
  ===================================================================
  if [ -z "$PERL" ]
  then
    PERL=perl
  fi
  
  . .functions
  
  #rm test
  #rm test.*
  
  echo "starting org.apache.log4j.test.DRFATest 5"
  java -Dlog4j.debug org.apache.log4j.test.DRFATest 5
  $PERL drfa.pl || die "drfa test FAILED."
  
  echo -n "About to sleep ";date
  sleep 60
  echo -n "After sleep ";date
  echo "Starting org.apache.log4j.test.DRFATest 10"
  java -Dlog4j.debug org.apache.log4j.test.DRFATest 10
  $PERL drfa.pl || die "drfa test FAILED."
  
  
  echo -n "About to sleep ";date
  sleep 60
  echo -n "After sleep ";date
  echo "Starting org.apache.log4j.test.DRFATest 100"
  java -Dlog4j.debug org.apache.log4j.test.DRFATest 100
  $PERL drfa.pl || die "drfa test FAILED."
  
  
  echo -n "About to sleep ";date
  sleep 60
  echo -n "After sleep ";date
  echo "Starting org.apache.log4j.test.DRFATest 100"
  java -Dlog4j.debug org.apache.log4j.test.DRFATest 100
  $PERL drfa.pl || die "drfa test FAILED."
  
  
  
  1.1                  jakarta-log4j/src/java/org/apache/log4j/test/drfa.pl
  
  Index: drfa.pl
  ===================================================================
  
  $|=1;
  
  while($next = <test.*>) {
  
    print "Reading $next\n";
    check($next);  
  }
  
  print "Reading test\n";
  checkResidual();
  
  sub checkResidual() {
    open(F, "test");
    
    while(<F>) {
      if($_ =~ /(.*) \d\d:/) {
        $p = $1;
      } else {
        die "In [test] unexpected line: [$_]\n";
      }
      
      if($old && $old != $p) {
        die "Mismatch in [test] unexpected line: [$_]\n";
      } else {
        print "  $_";
      }
      $old = $p;
    }
  }
  
  sub check() {
    my ($filename)  = @_;
    
    open(F, $filename);
    $_ = $filename;
    $p = s/test.//;
    while(<F>) {
      if($_ =~ /$p/) {
        print "  $_";
      } else {
        die "In [$filename] unexpected line: [$_]\n";
      }
    }
  }
  
  
  

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