diff options
Diffstat (limited to 't/018Init.t')
-rw-r--r-- | t/018Init.t | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/t/018Init.t b/t/018Init.t new file mode 100644 index 0000000..3c5e23f --- /dev/null +++ b/t/018Init.t @@ -0,0 +1,70 @@ +#Testing double-init + +BEGIN { + if($ENV{INTERNAL_DEBUG}) { + require Log::Log4perl::InternalDebug; + Log::Log4perl::InternalDebug->enable(); + } +} + +use Test; + +use warnings; +use strict; + +use Log::Log4perl; +use File::Spec; + +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 ($!)"; +} + +my $testfilea = File::Spec->catfile(qw(t tmp test18a.log)); +unlink $testfilea if (-e $testfilea); + +my $testfileb = File::Spec->catfile(qw(t tmp test18b.log)); +unlink $testfileb if (-e $testfileb); + +BEGIN {plan tests => 2} +END { unlink $testfilea; + unlink $testfileb; + } + +#################################################### +# Double-Init, 2nd time with different log file name +#################################################### +my $data = <<EOT; +log4j.category = INFO, FileAppndr +log4j.appender.FileAppndr = Log::Log4perl::Appender::File +log4j.appender.FileAppndr.filename = $testfilea +log4j.appender.FileAppndr.layout = Log::Log4perl::Layout::SimpleLayout +EOT + +Log::Log4perl::init(\$data); +my $log = Log::Log4perl::get_logger(""); + +$log->info("Shu-wa-chi!"); + +$data = <<EOT; +log4j.category = INFO, FileAppndr +log4j.appender.FileAppndr = Log::Log4perl::Appender::File +log4j.appender.FileAppndr.filename = $testfileb +log4j.appender.FileAppndr.layout = Log::Log4perl::Layout::SimpleLayout +EOT + +Log::Log4perl::init(\$data); +$log = Log::Log4perl::get_logger(); + +$log->info("Shu-wa-chi!"); + +# Check if both files contain one message each +for my $file ($testfilea, $testfileb) { + open FILE, "<$file" or die "Cannot open $file"; + my $content = join '', <FILE>; + close FILE; + ok($content, "INFO - Shu-wa-chi!\n"); +} |