/usr/share/perl5/Log/Dispatch/Handle.pm is in liblog-dispatch-perl 2.29-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 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
=pod
=head1 NAME
Log::Dispatch::Handle - Object for logging to IO::Handle classes
=head1 VERSION
version 2.29
=head1 SYNOPSIS
use Log::Dispatch;
my $log = Log::Dispatch->new(
outputs => [
[
'Handle',
min_level => 'emerg',
handle => $io_socket_object,
],
]
);
$log->emerg('I am the Lizard King!');
=head1 DESCRIPTION
This module supplies a very simple object for logging to some sort of
handle object. Basically, anything that implements a C<print()>
method can be passed the object constructor and it should work.
=head1 CONSTRUCTOR
The constructor takes the following parameters in addition to the standard
parameters documented in L<Log::Dispatch::Output>:
=over 4
=item * handle ($)
The handle object. This object must implement a C<print()> method.
=back
=head1 AUTHOR
Dave Rolsky <autarch@urth.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
=cut
__END__
|