diff options
Diffstat (limited to 't/032JRollFile.t')
-rw-r--r-- | t/032JRollFile.t | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/t/032JRollFile.t b/t/032JRollFile.t new file mode 100644 index 0000000..82684c8 --- /dev/null +++ b/t/032JRollFile.t @@ -0,0 +1,73 @@ +BEGIN { + if($ENV{INTERNAL_DEBUG}) { + require Log::Log4perl::InternalDebug; + Log::Log4perl::InternalDebug->enable(); + } +} + +use Log::Log4perl; +use Test::More; +use File::Spec; + +BEGIN { + eval { + require Log::Dispatch::FileRotate; + }; + if ($@ or $Log::Dispatch::FileRotate::VERSION < 1.10) { + plan skip_all => "only with Log::Dispatch::FileRotate 1.10"; + } else { + plan tests => 2; + } +} + +my $WORK_DIR = "tmp"; +if(-d "t") { + $WORK_DIR = File::Spec->catfile(qw(t tmp)); +} +unless (-e "$WORK_DIR"){ + mkdir("$WORK_DIR", 0755) || die "can't create $WORK_DIR ($!)"; +} + +use vars qw(@outfiles); @outfiles = (File::Spec->catfile($WORK_DIR, 'rolltest.log'), + File::Spec->catfile($WORK_DIR, 'rolltest.log.1'), + File::Spec->catfile($WORK_DIR, 'rolltest.log.2'),); + +foreach my $f (@outfiles){ + unlink $f if (-e $f); +} + +my $conf = <<CONF; +log4j.category.cat1 = INFO, myAppender + +log4j.appender.myAppender=org.apache.log4j.RollingFileAppender +log4j.appender.myAppender.File=@{[File::Spec->catfile($WORK_DIR, 'rolltest.log')]} +#this will roll the file after one write +log4j.appender.myAppender.MaxFileSize=1024 +log4j.appender.myAppender.MaxBackupIndex=2 +log4j.appender.myAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.myAppender.layout.ConversionPattern=%-5p %c - %m%n + +CONF + +Log::Log4perl->init(\$conf); + +my $logger = Log::Log4perl->get_logger('cat1'); + +$logger->debug("x" x 1024 . "debugging message 1 "); +$logger->info("x" x 1024 . "info message 1 "); +$logger->warn("x" x 1024 . "warning message 1 "); +$logger->fatal("x" x 1024 . "fatal message 1 "); + +my $rollfile = File::Spec->catfile($WORK_DIR, 'rolltest.log.2'); + +open F, $rollfile or die "Cannot open $rollfile"; +my $result = <F>; +close F; +like($result, qr/^INFO cat1 - x+info message 1/); + +#MaxBackupIndex is 2, so this file shouldn't exist +ok(! -e File::Spec->catfile($WORK_DIR, 'rolltest.log.3')); + +foreach my $f (@outfiles){ + unlink $f if (-e $f); +} |