NAME

Log::Handler::Output::Socket - Send messages to a socket.

SYNOPSIS

use Log::Handler::Output::Socket;

my $sock = Log::Handler::Output::Socket->new(
    peeraddr    => "127.0.0.1",
    peerport    => 44444,
    proto       => "tcp",
    timeout     => 10
);

$sock->log(message => $message);

DESCRIPTION

With this module it's possible to send messages over the network.

METHODS

new()

Call new() to create a new Log::Handler::Output::Socket object.

The following options are possible:

peeraddr

The address of the server.

peerport

The port to connect to.

proto

The protocol you wish to use. Default is TCP.

timeout

The timeout to send message. The default is 5 seconds.

persistent and reconnect

With this option you can enable or disable a persistent connection and re-connect if the connection was lost.

Both options are set to 1 on default.

dump

Do you like to dump the message? If you enable this option then all messages will be dumped with Data::Dumper.

dumper

Do you want to use another dumper as Data::Dumper? You can do the following as example:

use Convert::Bencode_XS;

    dumper => sub { Convert::Bencode_XS::bencode($_[0]) }

# or maybe

use JSON::PC;

    dumper => sub { JSON::PC::convert($_[0]) }
connect

This option is only useful if you want to pass your own arguments to IO::Socket::INET and don't want use peeraddr and peerhost.

Example:

connect => {
    PerrAddr  => "127.0.0.1",
    PeerPort  => 44444,
    LocalPort => 44445
}

This options are passed to IO::Socket::INET.

log()

Call log() if you want to send a message over the socket.

Example:

$sock->log("message");

connect()

Connect to the socket.

disconnect()

Disconnect from socket.

validate()

Validate a configuration.

reload()

Reload with a new configuration.

errstr()

This function returns the last error message.

PREREQUISITES

Carp
Params::Validate;
IO::Socket::INET;
Data::Dumper;

EXPORTS

No exports.

REPORT BUGS

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

If you send me a mail then add Log::Handler into the subject.

AUTHOR

Jonny Schulz <jschulz.cpan(at)bloonix.de>.

COPYRIGHT

Copyright (C) 2007-2009 by Jonny Schulz. All rights reserved.

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