Class: LogStash::Outputs::Lumberjack

Inherits:
Base
  • Object
show all
Includes:
Stud::Buffer
Defined in:
lib/logstash/outputs/lumberjack.rb

Constant Summary collapse

RECONNECT_BACKOFF_SLEEP =
0.5

Instance Method Summary collapse

Instance Method Details

#closeObject



74
75
76
# File 'lib/logstash/outputs/lumberjack.rb', line 74

def close
  buffer_flush(:force => true)
end

#flush(events, close = false) ⇒ Object

def receive



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/logstash/outputs/lumberjack.rb', line 62

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) ⇒ Object



57
58
59
60
# File 'lib/logstash/outputs/lumberjack.rb', line 57

def receive(event)
  return if event == LogStash::SHUTDOWN
  @codec.encode(event)
end

#registerObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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