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