1#!/usr/bin/perl 2########################################### 3# prototype -- use a Class::Prototyped appender 4# Mike Schilli, 2004 (m@perlmeister.com) 5########################################### 6use warnings; 7use strict; 8 9use Class::Prototyped; 10 11my $class = Class::Prototyped->newPackage( 12 "MyAppenders::Bulletizer", 13 bullets => 1, 14 log => sub { 15 my($self, %params) = @_; 16 print "*" x $self->bullets(), 17 $params{message}; 18 }, 19); 20 21use Log::Log4perl qw(:easy); 22 23Log::Log4perl->init(\ q{ 24 log4perl.logger = INFO, Bully 25 26 log4perl.appender.Bully=MyAppenders::Bulletizer 27 log4perl.appender.Bully.bullets=3 28 29 log4perl.appender.Bully.layout = PatternLayout 30 log4perl.appender.Bully.layout.ConversionPattern=%m %n 31}); 32 33 # ... prints: "***Boo!\n"; 34INFO "Boo!"; 35