NAME

Log::UDP::Client - A simple way to send structured log messages via UDP

VERSION

version 0.20.0

SYNOPSIS

use Log::UDP::Client;

        # Send the simple scalar to the server
        Log::UDP::Client->new->send("Hi");

        # Log lots of messages
        my $logger = Log::UDP::Client->new(server_port => 15000);
        my $counter=0;
        while(++$counter) {
            $logger->send($counter);
            last if $counter >= 1000;
        }

        # Send some debugging info
        $logger->send({
            pid     => $$,
            program => $0,
            args    => \@ARGV,
        });

        # Use of JSON serializer
        my $logger = Log::UDP::Client->new( serializer_module => 'JSON' );

        # Will emit { "message" => "Hi" } because JSON want to wrap stuff into a hashref
        $logger->send("Hi");

        # Use of custom serializer
        use Storable qw(freeze);
        my $logger = Log::UDP::Client->new (
            serializer => sub {
                return nfreeze( \( $_[0] ) );
            },
        );

DESCRIPTION

This module enables you to send a message (simple string or complicated object) over an UDP socket to a listening server. The message will be encoded with a serializer module (default is Storable).

ATTRIBUTES
server_address : Str
IP address or hostname for the server you want to send the messages to. This field can be changed after instantiation. Default is 127.0.0.1.

server_port : Int
Port for the server you plan to send the messages to. This field can be changed after instantiation. Default is port 9999.

throws_exception : Bool
If errors are encountered, should we throw exception or just return? Default is return. Set to true for exceptions. You can change this flag after instantiation.

socket : IO::Socket::INET
Read-only field that contains the socket used to send the messages.

METHODS
send($message)
Instance method that actually encodes and transmits the specified message over UDP to the listening server. Will die if throw_exception is set to true and some kind of transmission error occurs. The message will be serialized by the instance-defined serializer. Returns true on success.

INHERITED METHODS

All of these methods are inherited from Data::Serializable. Read more about them there.

SEE ALSO

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Log::UDP::Client

Websites

Bugs
Please report any bugs or feature requests to "bug-log-udp-client at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Log-UDP-Client>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

AUTHOR

Robin Smidsrød <robin@smidsrod.no>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Robin Smidsrød.

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