1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/usr/bin/perl
###########################################
# Syslog test cases
# Kevin Goess, cpan@goess.org 2002
###########################################
use warnings;
use strict;
use Log::Log4perl;
use Test;
our $RESULT_BUFFER;
package Log::MyOwnAppender;
our $IS_LOADED = 1;
use base qw(Log::Dispatch::Output);
sub new {
my($proto, %params) = @_;
my $class = ref $proto || $proto;
my $self = bless {}, $class;
$self->_basic_init(%params);
return $self;
}
sub log_message {
my $self = shift;
my %params = @_;
#params is { name => \$appender_name,
# level => 0,
# message => \$message,
$main::RESULT_BUFFER = $params{level};
}
package main;
my $config = <<EOL;
log4j.category.plant = DEBUG, tappndr,syslogappndr
log4j.appender.tappndr = Log::MyOwnAppender
log4j.appender.tappndr.layout = org.apache.log4j.SimpleLayout
log4j.appender.syslogappndr = Log::Dispatch::Syslog
log4j.appender.syslogappndr.layout = org.apache.log4j.SimpleLayout
EOL
Log::Log4perl::init(\$config);
my $logger = Log::Log4perl::get_logger('plant');
$logger->fatal('foo');
ok($RESULT_BUFFER, 7);
$RESULT_BUFFER = undef;
$logger->error('foo');
ok($RESULT_BUFFER, 4);
$RESULT_BUFFER = undef;
$logger->warn('foo');
ok($RESULT_BUFFER, 3);
$RESULT_BUFFER = undef;
$logger->info('foo');
ok($RESULT_BUFFER, 1);
$RESULT_BUFFER = undef;
$logger->debug('foo');
ok($RESULT_BUFFER, 0);
$RESULT_BUFFER = undef;
BEGIN { plan tests => 5, }
|