Log::Dispatch::Handle - Object for logging to IO::Handle classes


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

Index


Code Index:

NAME

Top

Log::Dispatch::Handle - Object for logging to IO::Handle classes

VERSION

Top

version 2.29

SYNOPSIS

Top

  use Log::Dispatch;

  my $log = Log::Dispatch->new(
      outputs => [
          [
              'Handle',
              min_level => 'emerg',
              handle    => $io_socket_object,
          ],
      ]
  );

  $log->emerg('I am the Lizard King!');

DESCRIPTION

Top

This module supplies a very simple object for logging to some sort of handle object. Basically, anything that implements a print() method can be passed the object constructor and it should work.

CONSTRUCTOR

Top

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

* handle ($)

The handle object. This object must implement a print() method.

AUTHOR

Top

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

Top


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

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

use strict;
use warnings;

use Log::Dispatch::Output;

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

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

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

    my %p = validate( @_, { handle => { can => 'print' } } );

    my $self = bless {}, $class;

    $self->_basic_init(%p);
    $self->{handle} = $p{handle};

    return $self;
}

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

    $self->{handle}->print( $p{message} )
        or die "Cannot write to handle: $!";
}

1;

# ABSTRACT: Object for logging to IO::Handle classes




__END__