Class: LogStash::Outputs::Lumberjack
- Inherits:
-
Base
- Object
- Base
- LogStash::Outputs::Lumberjack
- Includes:
- Stud::Buffer
- Defined in:
- lib/logstash/outputs/lumberjack.rb
Constant Summary collapse
- RECONNECT_BACKOFF_SLEEP =
0.5
Instance Method Summary collapse
- #close ⇒ Object
-
#flush(events, close = false) ⇒ Object
def receive.
- #receive(event) ⇒ Object
- #register ⇒ Object
Instance Method Details
#close ⇒ Object
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 |
#register ⇒ Object
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 |