summaryrefslogtreecommitdiff
path: root/eg/syslog.pl
diff options
context:
space:
mode:
Diffstat (limited to 'eg/syslog.pl')
-rwxr-xr-xeg/syslog.pl86
1 files changed, 86 insertions, 0 deletions
diff --git a/eg/syslog.pl b/eg/syslog.pl
new file mode 100755
index 0000000..978017b
--- /dev/null
+++ b/eg/syslog.pl
@@ -0,0 +1,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, }