class Fluent::Plugin::GelfOutput
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_gelf.rb, line 16 def configure(conf) super raise ConfigError, "'host' parameter is required" unless conf.key?("host") end
format(tag, time, record)
click to toggle source
# File lib/fluent/plugin/out_gelf.rb, line 29 def format(tag, time, record) make_gelfentry(tag, time, record).to_msgpack end
formatted_to_msgpack_binary()
click to toggle source
# File lib/fluent/plugin/out_gelf.rb, line 51 def formatted_to_msgpack_binary true end
multi_workers_ready?()
click to toggle source
# File lib/fluent/plugin/out_gelf.rb, line 55 def multi_workers_ready? true end
shutdown()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_gelf.rb, line 25 def shutdown super end
start()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_gelf.rb, line 21 def start super end
write(chunk)
click to toggle source
# File lib/fluent/plugin/out_gelf.rb, line 33 def write(chunk) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength records = [] chunk.msgpack_each do |record| records.push JSON.dump(record) + "\0" # Message delimited by null char end log.debug "establishing connection with GrayLog" socket = TCPSocket.new(@host, @port) begin log.debug "sending #{records.count} records in batch" socket.write(records.join) ensure log.debug "closing connection with GrayLog" socket.close end end