The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Log::Log4perl::Appender::Lumberjack - log appender writing to a lumberjack server

VERSION

version 1.00

SYNOPSIS

  use Log::Log4perl;

  my $conf = q(
    log4perl.category = INFO, Remote
    # ...
    log4perl.appender.Remote = Log::Log4perl::Appender::Lumberjack
    log4perl.appender.Remote.host = 127.0.0.1
    log4perl.appender.Remote.port = 5044
    log4perl.appender.Remote.keepalive = 0
    log4perl.appender.Remote.frame_format = json
    #log4perl.appender.Remote.use_ssl = 1
    #log4perl.appender.Remote.ssl_verify = 1
    # these two options prevent the message from being stringified
    log4perl.appender.Remote.layout = Log::Log4perl::Layout::NoopLayout
    log4perl.appender.Remote.warp_message = 0
  );

  Log::Log4perl::init( \$conf );

  my $log = Log::Log4perl::get_logger("Foo::Bar");
  $log->info('just for information...');

OPTIONS

host (default: '127.0.0.1')

Host to connect to.

port (default: 5044)

TCP port to connect to.

keepalive (default: 0)

If enabled connection will be keept open between send_data() calls. Otherwise it will be closed and reopened on every call.

Needs to be disabled for logstash-input-beats since it expects only one bulk of frames per connection.

frame_formt (default: 'json')

The following frame formats are supported:

'json', 'v2'

Uses json formatted data frames as defined in lumberjack protocol v2. (type 'J')

'data', 'v1'

Uses lumberjack DATA (type 'D') frames as defined in lumberjack protocol v1.

This format only supports a flat hash structure.

use_ssl (default: 0)

Enable SSL transport encryption.

ssl_verify (default: 1)

Enable verification of SSL server certificate.

ssl_ca_file (default: emtpy)

Use a non-default CA file to retrieve list of trusted root CAs.

Otherwise the system wide default will be used.

ssl_ca_path (default: emtpy)

Use a non-default CA path to retrieve list of trusted root CAs.

Otherwise the system wide default will be used.

ssl_version (default: empty)

Use a non-default SSL protocol version string.

Otherwise the system wide default will be used.

Check IO::Socket::SSL for string format.

ssl_hostname (default: emtpy)

Use a hostname other than the hostname give in 'host' for SSL certificate verification.

This could be used if you use a IP address to connecting to server that only lists the hostname in its certificate.

ssl_cert (default: empty)

ssl_key (default: empty)

If 'ssl_cert_file' and 'ssl_key_file' is the client will enable client side authentication and use the supplied certificate/key.

AUTHOR

Markus Benning <ich@markusbenning.de>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Markus Benning.

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