plu / log-handler-output-gearman

Log::Handler::Output::Gearman - Send log messages to a Gearman worker.

This URL has Read+Write access

Johannes Plunien (author)
Fri Nov 06 07:20:43 -0800 2009
commit  fb0fe1b3f23c544b7699825d43b6c958d54e8edb
tree    d97ce31758b842cc8b220b80357baa6f7ef16a9f
parent  3f82080a6193103f863114e66fc442fbb9cef1a3
name age message
file .gitignore Wed Jul 15 00:08:45 -0700 2009 * Changed host/port parameters to an arrayref c... [Johannes Plunien]
file Changes Loading commit data...
file MANIFEST.SKIP
file Makefile.PL
file README
directory examples/
directory lib/
directory t/
README
NAME
    Log::Handler::Output::Gearman - Send log messages to Gearman workers.

SYNOPSIS
        use Log::Handler::Output::Gearman;

        my $logger = Log::Handler::Output::Gearman->new(
            servers => ['127.0.0.1:4731'],
            worker  => 'logger',
        );

        my $message = 'This is a log message';
        $logger->log( $message );

DESCRIPTION
    This is experimental ( beta ) and should only be used in a test
    environment. The API may change at any time without prior notification
    until this message is removed!

METHODS
  new
    Takes a number of arguments, following are mandatory:

    *   servers

            # hostname:port gearmand is running on
            servers => [
                '127.0.0.1:4731',
                '192.168.0.1:4735',
                '192.168.0.2'       # uses default port (4730)
            ]

    *   worker

            # name of the worker that should process the log messages
            worker => 'logger'

    Besides it takes also following optional arguments:

    *   method (default: do_background)

            method => 'do_high_background'

        This can be one of the following Gearman::XS::Client methods:

        * "do"
        * "do_high"
        * "do_low"
        * "do_background"
        * "do_high_background"
        * "do_low_background"

    *   prepare_message

            # encode log message before it's being sent as workload to Gearman
            prepare_message => sub {
                my ($message) = @_;
                return JSON::XS::encode({ message => $message });
            }

  log
    Takes one argument:

    *   $message - The log message

  errstr
    Returns the last error message.

  gearman_client
    Returns Gearman::XS::Client instance.

  reload
    Reload with a new configuration.

AUTHOR
    Johannes Plunien <plu@cpan.org>

COPYRIGHT AND LICENSE
    Copyright 2009 by Johannes Plunien

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

SEE ALSO
    * Log::Handler
    * Gearman::XS::Client
    * <http://www.gearman.org/>

REPOSITORY
    <http://github.com/plu/log-handler-output-gearman/>