class Fluent::Plugin::CopyOutput

def configure(conf)

def configure(conf)
  super
  @stores.each { |store|
    @ignore_errors << (store.arg == 'ignore_error')
  }
end

def initialize

def initialize
  super
  @ignore_errors = []
end

def multi_workers_ready?

def multi_workers_ready?
  true
end

def process(tag, es)

def process(tag, es)
  unless es.repeatable?
    m = Fluent::MultiEventStream.new
    es.each {|time,record|
      m.add(time, record)
    }
    es = m
  end
  outputs.each_with_index do |output, i|
    begin
      output.emit_events(tag, @deep_copy ? es.dup : es)
    rescue => e
      if @ignore_errors[i]
        log.error "ignore emit error", error: e
      else
        raise e
      end
    end
  end
end