class Megaphone::Client::FluentLogger

Public Class Methods

new(host, port, overflow_handler = nil) click to toggle source
# File lib/megaphone/client/fluent_logger.rb, line 11
def initialize(host, port, overflow_handler = nil)
  overflow_handler ||= default_overflow_handler
  @logger = Fluent::Logger::FluentLogger.new('megaphone',
                                             host: host,
                                             port: port,
                                             buffer_overflow_handler: overflow_handler
                                           )
end

Private Instance Methods

default_overflow_handler() click to toggle source

A default overflow handler that just prints a warning message. Production applications should be passing in their own handlers, which should be alerting monitoring systems!

# File lib/megaphone/client/fluent_logger.rb, line 24
def default_overflow_handler
  $stderr.puts("Megaphone::Client::FluentLogger - Production apps MUST override buffer overflow handler!")
  -> (*) {
    $stderr.puts("Buffer overflow in Megaphone/fluent logger - messages lost")
  }
end