NAME

Log::Sigil - show warnings with sigil prefix

SYNOPSIS

filename: synopsis.pl
 1 use Log::Sigil qw( swarn swarn2 );
 2
 3 sub foo {
 4     swarn( "foo" );
 5     swarn( "bar" );
 6 }
 7
 8 swarn( "foo" );
 9
10 foo( );
11
12 swarn( "bar" );

above shows:
=== foo by synopsis.pl[8]: main::
+++ foo by synopsis.pl[4]: main::foo
+++ bar by synopsis.pl[5]: main::foo
=== bar by synopsis.pl[12]: main::

DESCRIPTION

This module helps printing debug by adding prefix to the warning message. The prefix will change if caller changes, meaning 'foo' sub, and 'bar' sub have different prefix each other.

i do printing debug frequently. In debugging, my warning messages became too big to read. When i in trouble (yes, so doing printing debug), i do not want to remove the warning messages. Once i thought it is needed, it is needed twice, and more. Thus, i need a format which can read warning messages even if that is big.

EXPORTS

swarn
swarn2

FUNCTIONS

swarn

Works all of this module does. That are, adding prefix, setting up filename and line, and, setting up package and subroutine.

swarn2

Same as swarn, but has a 1 bias. This is useful when calling from some handler subroutine, such as;

( my $ua = LWP::UserAgent->new )->add_handler(
    request_prepare => sub {
        my( $req, $ua, $h ) = @_;
        swarn2( "Adding If-Modified-Since..." );
        $req->...
        swarn2( "Now req has: ", $req->header( "If-Modified-Since" ) );
    },
);

swarn does not work well this case; this has deep frames.

Oops, that case needs more depth. Increase BIAS value these cases.

( my $ua = LWP::UserAgent->new )->add_handler(
    request_prepare => sub {
        my( $req, $ua, $h ) = @_;
        local $Log::Sigil::BIAS += 4;
        swarn( "Adding" );
    },
);
$ua->get( "http://example.com/" );
# --> +++ Adding by .../LWP/UserAgent.pm[243]: LWP::UserAgent::prepare_request

PROPERTIES

SIGILS

Is a array which are used as prefix.

TIMES

Specifies how many sigil is repeated.

SEPARATOR

Will be placed between sigils and log message.

BIAS

Controls caller frame depth.

AUTHOR

kuniyoshi kouji <kuniyoshi@cpan.org>

SEE ALSO

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.