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