NAME
Log::Shiras::Report - Report Role (Interface) for Log::Shiras
SYNOPSIS
use Modern::Perl;
use Log::Shiras::Switchboard;
use Log::Shiras::Report;
use Log::Shiras::Report::CSVFile;
my $operator = Log::Shiras::Switchboard->get_operator(
name_space_bounds =>{
UNBLOCK =>{
to_file => 'info',# for info and more urgent messages
},
},
reports =>{
to_file =>[{
superclasses =>[ 'Log::Shiras::Report::CSVFile' ],
add_roles_in_sequence =>[
'Log::Shiras::Report',
'Log::Shiras::Report::MetaMessage',
],# Effectivly an early class type check
file => 'test.csv',
}],
}
);
DESCRIPTION
This is a simple interface that ensures the report object has an 'add_line' method. It also scrubs the input to 'add_line' method to ensure the message is a hashref with the key message. Finally, it calls a method 'manage_message' if it has been composed into the larger class. For an example see Log::Shiras::Report::MetaMessage. If you wish to build your own report object it just has to have an add_line method. To use the report it is registered to the switchboard using "reports" in Log::Shiras::Switchboard For an example of a simple report see Log::Shiras::Report::Stdout For an example of a complex report see Log::Shiras::Report::CSVFile Upon registration the reports will receive their messages from "master_talk( $args_ref )" in Log::Shiras::Switchboard.
SUPPORT
TODO
1. Nothing currently
AUTHOR
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
DEPENDENCIES
Moose::Role - requires (add_line)
Carp - confess cluck