Log::Dispatch::Screen - Object for logging to the screen


Log-Dispatch documentation Contained in the Log-Dispatch distribution.

Index


Code Index:

NAME

Top

Log::Dispatch::Screen - Object for logging to the screen

VERSION

Top

version 2.29

SYNOPSIS

Top

  use Log::Dispatch;

  my $log = Log::Dispatch->new(
      outputs => [
          [
              'Screen',
              min_level => 'debug',
              stderr    => 1,
              newline   => 1
          ]
      ],
  );

  $log->alert("I'm searching the city for sci-fi wasabi");

DESCRIPTION

Top

This module provides an object for logging to the screen (really STDOUT or STDERR).

Note that a newline will not be added automatically at the end of a message by default. To do that, pass newline => 1.

CONSTRUCTOR

Top

The constructor takes the following parameters in addition to the standard parameters documented in Log::Dispatch::Output:

* stderr (0 or 1)

Indicates whether or not logging information should go to STDERR. If false, logging information is printed to STDOUT instead. This defaults to true.

AUTHOR

Top

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

Top


Log-Dispatch documentation Contained in the Log-Dispatch distribution.

package Log::Dispatch::Screen;
BEGIN {
  $Log::Dispatch::Screen::VERSION = '2.29';
}

use strict;
use warnings;

use Log::Dispatch::Output;

use base qw( Log::Dispatch::Output );

use Params::Validate qw(validate BOOLEAN);
Params::Validate::validation_options( allow_extra => 1 );

sub new {
    my $proto = shift;
    my $class = ref $proto || $proto;

    my %p = validate(
        @_, {
            stderr => {
                type    => BOOLEAN,
                default => 1
            },
        }
    );

    my $self = bless {}, $class;

    $self->_basic_init(%p);
    $self->{stderr} = exists $p{stderr} ? $p{stderr} : 1;

    return $self;
}

sub log_message {
    my $self = shift;
    my %p    = @_;

    if ( $self->{stderr} ) {
        print STDERR $p{message};
    }
    else {
        print STDOUT $p{message};
    }
}

1;

# ABSTRACT: Object for logging to the screen




__END__