class Fluent::ObjectFlattenFilter

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/filter_object_flatten.rb, line 11
def configure(conf)
  super
  @flatten_option = {:separator => @separator}

  if @tr
    if @tr.length != 2
      raise ConfigError, "tr: wrong length (#{@tr.length} for 2)"
    end

    @flatten_option[:tr] = @tr
  end
end
filter_stream(tag, es) click to toggle source
# File lib/fluent/plugin/filter_object_flatten.rb, line 24
def filter_stream(tag, es)
  result_es = Fluent::MultiEventStream.new

  es.each do |time, record|
    ObjectFlatten.flatten(record, @flatten_option).each do |new_record|
      result_es.add(time, new_record)
    end
  end

  result_es
rescue => e
  log.warn e.message
  log.warn e.backtrace.join(', ')
end