use strict; use warnings; use Test::More tests => 6; use File::Spec; use Log::Handler::Output::File; my $rand_num = int(rand(999999)); my $logfile = File::Spec->catfile('t', "Log-Handler-$rand_num.log"); my $log = Log::Handler::Output::File->new( filename => [ 't', "Log-Handler-$rand_num.log" ], permissions => '0664', mode => 'append', autoflush => 0, fileopen => 0, filelock => 0, reopen => 0, ); # write a string to the file $log->log(message => "test\n") or die $!; ok(1, "checking log()"); # checking if the file is readable open(my $fh, '<', $logfile) or do { ok(0, "open logfile ($logfile)"); exit(1); }; ok(1, "open logfile ($logfile)"); my $line = <$fh>; chomp($line); close $fh; ok($line =~ /^test\z/, "checking logfile ($line)"); if ( unlink($logfile) ) { ok(1, "unlink logfile ($logfile)"); } else { ok(0, "unlink logfile ($logfile)"); } $log->reload( { filename => [ 't', "Log-Handler-$rand_num.log" ], autoflush => 1, fileopen => 0, reopen => 0, } ); ok($log->{autoflush} == 1, "checking reload ($log->{autoflush})"); ok($log->{filename} =~ /$rand_num/, "checking reload ($log->{filename})");