1use Log::Log4perl;
2use Test::More;
3use File::Spec;
4
5our $LOG_DISPATCH_PRESENT = 0;
6
7BEGIN { 
8    eval { require Log::Dispatch; };
9    if($@) {
10       plan skip_all => "only with Log::Dispatch";
11    } else {
12       $LOG_DISPATCH_PRESENT = 1;
13       plan tests => 1;
14    }
15};
16
17my $WORK_DIR = "tmp";
18if(-d "t") {
19    $WORK_DIR = File::Spec->catfile(qw(t tmp));
20}
21unless (-e "$WORK_DIR"){
22    mkdir("$WORK_DIR", 0755) || die "can't create $WORK_DIR ($!)";
23}
24
25use vars qw(@outfiles $test_logfile); 
26$test_logfile = File::Spec->catfile($WORK_DIR, 'test2.log');
27@outfiles = ($test_logfile);
28foreach my $f (@outfiles){
29    unlink $f if (-e $f);
30}
31
32
33my $conf = <<CONF;
34log4j.category.cat1      = INFO, myAppender
35
36log4j.appender.myAppender=org.apache.log4j.FileAppender
37log4j.appender.myAppender.File=$test_logfile
38log4j.appender.myAppender.layout=org.apache.log4j.PatternLayout
39log4j.appender.myAppender.layout.ConversionPattern=%-5p %c - %m%n
40CONF
41
42Log::Log4perl->init(\$conf);
43
44my $logger = Log::Log4perl->get_logger('cat1');
45
46$logger->debug("debugging message 1 ");
47$logger->info("info message 1 ");      
48$logger->warn("warning message 1 ");   
49$logger->fatal("fatal message 1 ");   
50
51
52my ($result, $expected);
53
54$expected = <<EOL;
55INFO  cat1 - info message 1 
56WARN  cat1 - warning message 1 
57FATAL cat1 - fatal message 1 
58EOL
59
60{local $/ = undef;
61 open (F, "$test_logfile") || die $!;
62 $result = <F>;
63 close F;
64}
65is ($result, $expected);
66
67foreach my $f (@outfiles){
68    unlink $f if (-e $f);
69}
70
71