=pod
=head1 NAME
Log::Shiras - A Moose based logging and reporting tool
=begin html
=end html
=head1 SYNOPSIS
#!perl
use Modern::Perl;
use lib 'lib', '../lib',;
use Log::Shiras::Unhide qw( :debug);#
use Log::Shiras::Switchboard;
use Log::Shiras::Telephone;
use Log::Shiras::Report::Stdout;
$| = 1;
sub shout_at_me{
my $telephone = Log::Shiras::Telephone->new( report => 'run' );
$telephone->talk( carp_stack => 1, level => 'info', message =>[ @_ ] );
}
###LogSD warn "lets get ready to rumble...";
my $operator = Log::Shiras::Switchboard->get_operator(
name_space_bounds =>{
main =>{
UNBLOCK =>{
# UNBLOCKing the run reports (destinations)
# at the 'main' caller name_space and deeper
run => 'trace',
},
},
},
reports =>{
run =>[ Log::Shiras::Report::Stdout->new, ],
},
);
###LogSD warn "Getting a Telephone";
my $telephone = Log::Shiras::Telephone->new( report => 'run' );
$telephone->talk( message => 'Hello World 1' );
###LogSD warn "message was sent to the report 'run' without sufficient permissions";
$telephone->talk( level => 'info', message => 'Hello World 2' );
###LogSD warn "message sent with sufficient permissions";
shout_at_me( 'Hello World 3' );
#####################################################################################
# Synopsis screen output
# 01: Using Log::Shiras::Unhide-v0.29_1 strip_match string: (LogSD) at ../lib/Log/Shiras/Unhide.pm line 87.
# 02: lets get ready to rumble... at log_shiras.pl line 15.
# 03: Getting a Telephone at log_shiras.pl line 30.
# 04: message was sent to the report 'run' without sufficient permissions at log_shiras.pl line 33.
# 05: | level - info | name_space - main
# 06: | line - 0034 | file_name - log_shiras.pl
# 07: :( Hello World 2 ):
# 08: message sent with sufficient permissions at log_shiras.pl line 35.
# 09: | level - info | name_space - main::shout_at_me
# 10: | line - 0012 | file_name - log_shiras.pl
# 11: :( Hello World 3
# 12: at ..\lib\Log-Shiras\lib\Log\Shiras\Telephone.pm line 148.
# 13: Log::Shiras::Telephone::talk(Log::Shiras::Telephone=HASH(0x144cc18), "carp_stack", 1, "level", "info", "message", ARRAY(0xa14cd8)) called at log_shiras.pl line 12
# 14: main::shout_at_me("Hello World 3") called at log_shiras.pl line 36 ):
#####################################################################################
=head1 DESCRIPTION
L - A small subspecies of
Moose found in the western United States (of America).
This is L you can choose from in
CPAN. The ultimate goal of this package is to add name-space control to any of your
programs outputs that you want name-space control of. As the package stands today there
are three relevant name-spaces. First, the file name-space, file name-space is the
name-space that we apply to specific files (modules or scripts). The file name-space in
this package is treated as flat (no heirarchy) and is managed using L