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



77
78
79
# File 'lib/logstash/outputs/lumberjack.rb', line 77

def close
  buffer_flush(:force => true)
end

#flush(events, close = false) ⇒ Object

def receive



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/logstash/outputs/lumberjack.rb', line 65

def flush(events, close = false)
  begin
    @logger.info("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



60
61
62
63
# File 'lib/logstash/outputs/lumberjack.rb', line 60

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

#registerObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/logstash/outputs/lumberjack.rb', line 43

def register
  require 'lumberjack/client'

  buffer_initialize(
    :max_items => max_items,
    :max_interval => @idle_flush_time,
    :logger => @logger
  )

  connect

  @codec.on_event do |event, payload|
    buffer_receive({ "line" => payload })
  end
end