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_certificate_key => nil, :ssl_certificate_authorities => nil, :ssl => true, :json => false, }.merge(opts) @opts[:addresses] = Array(@opts[:addresses]) raise "Must set a port." if @opts[:port] == 0 raise "Must set atleast one address" if @opts[:addresses].empty? == 0 if @opts[:ssl] if @opts[:ssl_certificate_authorities].nil? && (@opts[:ssl_certificate].nil? || @opts[:ssl_certificate_key].nil?) raise "Must set a ssl certificate or path" end end @socket = connect end
Public Instance Methods
host()
click to toggle source
# File lib/lumberjack/beats/client.rb, line 53 def host @socket.host end
write(elements, opts={})
click to toggle source
# File lib/lumberjack/beats/client.rb, line 48 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 35 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