package Jifty::Plugin::TestServerWarnings::Appender; use strict; use warnings; use base qw/Log::Log4perl::Appender/; =head1 NAME Jifty::Plugin::TestServerWarnings::Appender - Log appender =head1 DESCRIPTION L which stores warnings in memory, for later downloading by the test client. =head1 METHODS =head2 new Creates a new appender; takes no arguments. =cut sub new { my $class = shift; return bless {@_}, $class; } =head2 log Appends the message to L' internal storage. =cut sub log { my $self = shift; my $plugin = Jifty->find_plugin("Jifty::Plugin::TestServerWarnings"); my $message = $_[0]{message}; $message = join('',@{$message}) if ref $message eq "ARRAY"; $plugin->add_warnings($message); } 1;