class LogStash::Outputs::Lumberjack
Constants
- RECONNECT_BACKOFF_SLEEP
Public Instance Methods
close()
click to toggle source
# File lib/logstash/outputs/lumberjack.rb, line 73 def close buffer_flush(:force => true) end
flush(events, close = false)
click to toggle source
# File lib/logstash/outputs/lumberjack.rb, line 61 def flush(events, close = false) begin @logger.debug? && @logger.debug("Sending events to lumberjack", :size => events.size) @client.write(events) rescue Exception => e @logger.error("Client write error, trying connect", :e => e, :backtrace => e.backtrace) sleep(RECONNECT_BACKOFF_SLEEP) connect retry end # begin end
receive(event)
click to toggle source
# File lib/logstash/outputs/lumberjack.rb, line 57 def receive(event) @codec.encode(event) end
register()
click to toggle source
# File lib/logstash/outputs/lumberjack.rb, line 40 def register require 'lumberjack/client' buffer_initialize( :max_items => @flush_size, :max_interval => @idle_flush_time, :logger => @logger ) connect @codec.on_event do |event, payload| buffer_receive({ "line" => payload }) end end
Private Instance Methods
connect()
click to toggle source
# File lib/logstash/outputs/lumberjack.rb, line 78 def connect require 'resolv' @logger.debug("Connecting to lumberjack server.", :addresses => @hosts, :port => @port, :ssl_certificate => @ssl_certificate, :flush_size => @flush_size) begin ips = [] @hosts.each { |host| ips += Resolv.getaddresses host } @client = Lumberjack::Client.new(:addresses => ips.uniq, :port => @port, :ssl_certificate => @ssl_certificate, :flush_size => @flush_size) rescue Exception => e @logger.error("All hosts unavailable, sleeping", :hosts => ips.uniq, :e => e, :backtrace => e.backtrace) sleep(10) retry end end