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