NAME

BusyBird::Log - simple logging infrastructure for BusyBird

SYNOPSIS

    use BusyBird::Log qw(bblog);
    
    bblog('error', 'Something bad happens');
    
    {
        my @logs = ();
        
        ## Temporarily change the Logger
        local $BusyBird::Log::Logger = sub {
            my ($level, $msg) = @_;
            push(@logs, [$level, $msg]);
        };

        bblog('info', 'This goes to @logs array.');
    }

DESCRIPTION

BusyBird::Log manages the logger singleton used in BusyBird.

This module is used by some of the BusyBird component modules to log warning/error messages.

EXPORTABLE FUNCTIONS

The following functions are exported only by request.

bblog($level, $msg)

Logs the given message.

$level is a string of log level such as 'info', 'warn', 'error', 'critical' etc. $msg is the log message body.

By default, it prints the log to STDERR.

PACKAGE VARIABLES

$BusyBird::Log::Logger = CODEREF($level, $msg)

A subroutine reference that is called when bblog() is called. The subroutine is supposed to do the logging.

Setting this to undef disables logging at all.

AUTHOR

Toshio Ito <toshioito [at] cpan.org>