NAME
Dancer2::Logger::Fluent - Dancer2 logger engine for Fluent::Logger
VERSION
version 0.06
SYNOPSIS
use Dancer2::Logger::Fluent;
DESCRIPTION
Implements a structured event logger for Fluent via Fluent::Logger.
When a connection to the fluentd agent can't be established, messages
are "queued" internally. These messages will be flushed upon subsequent
calls to log(), as soon as a connection is established.
METHODS
log($level, $message)
Writes the log message to Fluent.
CONFIGURATION
The setting logger should be set to Fluent in order to use this logging
engine in a Dancer2 application.
Below is a simple sample configuration:
logger: "Fluent"
engines:
logger:
Fluent:
tag_prefix: "myapp"
host: "127.0.0.1"
port: 24224
The full list of allowed options are as follows:
tag_prefix
Tag prepended to every message, defaults to the configured appname
or, if not defined, to the executable's basename.
host
Host running the fluentd agent, defaults to '127.0.0.1'.
port
Port listened by the fluentd agent, defaults to 24224.
timeout
Timeout in seconds, defaults to 3.0 as implemented in Fluent::Logger.
socket
Socket file location, defaults to undef as implemented in
Fluent::Logger.
prefer_integer
Whether integer is preferred as cascaded to
Data::MessagePack->prefer_integer. Defaults to 1.
event_time
Whether event timestamps (includes nanoseconds as supported by
fluentd >= 0.14.0) will be included. Defaults to 0.
buffer_limit
Buffer size limit, defaults to 8388608 (8MB) as implemented in
Fluent::Logger.
buffer_overflow_handler
Custom coderef to handle buffer overflow in the event of connection
failure, to mitigate loss of data in the event of connection failure.
truncate_buffer_at_overflow
When truncate_buffer_at_overflow is true and pending buffer size is
larger than buffer_limit, pending buffer will still be kept but last
message will not be sent and will not be appended to the buffer.
Defaults to 0.
MESSAGE FORMAT
Messages to fluentd will be a hash containing the following:
{
env => $environment,
timestamp => $current_timestamp,
host => $hostname,
level => $level,
message => $message,
pid => $$
}
AUTHOR
Arnold Tan Casis <atancasis@cpan.org>
COPYRIGHT
Copyright 2017- Arnold Tan Casis
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
See Dancer2 for details about logging in route handlers.
See http://fluent.github.com for details on fluentd itself.