class LogStash::Inputs::Lumberjack

Receive events using the lumberjack protocol.

This is mainly to receive events shipped with lumberjack, <github.com/jordansissel/lumberjack>

Public Instance Methods

register() click to toggle source

TODO(sissel): Add CA to authenticate clients with.

# File lib/logstash/inputs/lumberjack.rb, line 34
def register
  require "lumberjack/server"

  @logger.info("Starting lumberjack input listener", :address => "#{@host}:#{@port}")
  @lumberjack = Lumberjack::Server.new(:address => @host, :port => @port,
    :ssl_certificate => @ssl_certificate, :ssl_key => @ssl_key,
    :ssl_key_passphrase => @ssl_key_passphrase)
end
run(output_queue) click to toggle source
# File lib/logstash/inputs/lumberjack.rb, line 44
def run(output_queue)
  @lumberjack.run do |l|
    @codec.decode(l.delete("line")) do |event|
      decorate(event)
      l.each { |k,v| event[k] = v; v.force_encoding("UTF-8") }
      output_queue << event
    end
  end
end