class Lumberjack::Beats::Client
Public Class Methods
new(opts={})
click to toggle source
# File lib/lumberjack/beats/client.rb, line 10 def initialize(opts={}) @opts = { :port => 0, :addresses => [], :ssl_certificate => nil, :ssl => true, :json => false, }.merge(opts) @opts[:addresses] = [@opts[:addresses]] if @opts[:addresses].class == String raise "Must set a port." if @opts[:port] == 0 raise "Must set atleast one address" if @opts[:addresses].empty? == 0 raise "Must set a ssl certificate or path" if @opts[:ssl_certificate].nil? && @opts[:ssl] @socket = connect end
Public Instance Methods
host()
click to toggle source
# File lib/lumberjack/beats/client.rb, line 46 def host @socket.host end
write(elements, opts={})
click to toggle source
# File lib/lumberjack/beats/client.rb, line 41 def write(elements, opts={}) @socket.write_sync(elements, opts) end
Private Instance Methods
connect()
click to toggle source
# File lib/lumberjack/beats/client.rb, line 28 def connect addrs = @opts[:addresses].shuffle begin raise "Could not connect to any hosts" if addrs.empty? opts = @opts opts[:address] = addrs.pop Lumberjack::Beats::Socket.new(opts) rescue *[Errno::ECONNREFUSED,SocketError] retry end end