NAME
Log::Log4perl::Appender::RabbitMQ - Log to RabbitMQ
VERSION
version 0.200002
SYNOPSIS
use Log::Log4perl;
my $log4perl_config = q{
log4perl.logger = DEBUG, RabbitMQ
log4perl.appender.RabbitMQ = Log::Log4perl::Appender::RabbitMQ
log4perl.appender.RabbitMQ.exchange = myexchange
log4perl.appender.RabbitMQ.routing_key = mykey
log4perl.appender.RabbitMQ.layout = Log::Log4perl::Layout::PatternLayout
};
Log::Log4perl::init(\$log4perl_config);
my $log = Log::Log4perl->get_logger();
$log->warn('this is my message');
DESCRIPTION
This is a Log::Log4perl appender for publishing log messages to RabbitMQ using Net::AMQP::RabbitMQ. Defaults for unspecified options are provided by Net::AMQP::RabbitMQ and can be found in it's documentation.
CONFIG OPTIONS
All of the following options can be passed to the constructor, or be specified in the Log4perl config file. Unless otherwise stated, any options not specified will get whatever defaults Net::AMQP::RabbitMQ provides. See the documentation for that module for more details.
Connection Options
These options are used in the call to Net::AMQP::RabbitMQ::connect() when the appender is created.
- user
- password
- host
-
Defaults to localhost.
- port
- vhost
- channel_max
- frame_max
- heartbeat
- ssl
- ssl_verify_host
- ssl_cacert
- ssl_init
- timeout
Exchange Options
Except for declare_exchange, these options are used in a call to Net::AMQP::RabbitMQ::exchange_declare() to declare the exchange specified on the exchange option (See "Publish Options"). If declare_exchange is false (the default) the exchange will not be declared and must already exist.
- declare_exchange
-
Declare the exchange, or just trust that it already exists? Boolean, defaults to 0.
- exchange_type
-
'direct, 'topic', etc.
- durable_exchange
-
Should the exchange survive a restart? Boolean, defaults to 0.
- auto_delete_exchange
-
Delete the exchange when this proccess disconnects? Boolean, defaults to 1.
Publish Options
These options are used in the call to Net::AMQP::RabbitMQ::publish() for each message.
- routing_key
-
The routing key for messages. If the routing key contains a
%c
or a%p
it will be interpolated for each message.%c
will be replaced with the Log4perl category.%p
will be replaces with the Log4perl priority.Defaults to
%C
- exchange
-
The exchange to publish the message too. This exchange must already exist unless declare_exchange is set to true.
- mandatory
-
boolean. Flag published messages mandatory.
- immediate
-
boolean. Flag published messages immediate.
METHODS
This is a subclass of Log::Log4perl::Appender. It overrides the following methods:
- new
- log
AUTHORS
Trevor Little <bundacia@tjlittle.com>
Alexander Hartmaier <abraxxa@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by Alexander Hartmaier.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.