summaryrefslogtreecommitdiff
path: root/eg/prototype
diff options
context:
space:
mode:
Diffstat (limited to 'eg/prototype')
-rwxr-xr-xeg/prototype34
1 files changed, 34 insertions, 0 deletions
diff --git a/eg/prototype b/eg/prototype
new file mode 100755
index 0000000..f0b0bc5
--- /dev/null
+++ b/eg/prototype
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+###########################################
+# prototype -- use a Class::Prototyped appender
+# Mike Schilli, 2004 (m@perlmeister.com)
+###########################################
+use warnings;
+use strict;
+
+use Class::Prototyped;
+
+my $class = Class::Prototyped->newPackage(
+ "MyAppenders::Bulletizer",
+ bullets => 1,
+ log => sub {
+ my($self, %params) = @_;
+ print "*" x $self->bullets(),
+ $params{message};
+ },
+);
+
+use Log::Log4perl qw(:easy);
+
+Log::Log4perl->init(\ q{
+ log4perl.logger = INFO, Bully
+
+ log4perl.appender.Bully=MyAppenders::Bulletizer
+ log4perl.appender.Bully.bullets=3
+
+ log4perl.appender.Bully.layout = PatternLayout
+ log4perl.appender.Bully.layout.ConversionPattern=%m %n
+});
+
+ # ... prints: "***Boo!\n";
+INFO "Boo!";