1##################################################
2# String dispatcher for testing
3##################################################
4
5package Log::Dispatch::String;
6
7use Log::Dispatch::Output;
8use base qw( Log::Dispatch::Output );
9use fields qw( stderr );
10
11sub new
12{
13    my $proto = shift;
14    my $class = ref $proto || $proto;
15    my %params = @_;
16
17    my $self = bless {}, $class;
18
19    $self->_basic_init(%params);
20    $self->{stderr} = exists $params{stderr} ? $params{stderr} : 1;
21    $self->{buffer} = "";
22
23    return $self;
24}
25
26sub log_message
27{
28    my $self = shift;
29    my %params = @_;
30
31    $self->{buffer} .= $params{message};
32}
33
34sub buffer
35{
36    my($self, $new) = @_;
37
38    if(defined $new) {
39        $self->{buffer} = $new;
40    }
41
42    return $self->{buffer};
43}
44
45sub reset
46{
47    my($self) = @_;
48
49    $self->{buffer} = "";
50}
51
521;
53