class Fluent::HerokuSyslogHttpInput

Private Instance Methods

parse_params_with_parser(params) click to toggle source
# File lib/fluent/plugin/in_heroku_syslog_http.rb, line 14
def parse_params_with_parser(params)
  if content = params[EVENT_RECORD_PARAMETER]
    records = []
    messages = content.split("\n")
    messages.each do |msg|
      @parser.parse(msg) { |time, record|
        raise "Received event is not #{@format}: #{content}" if record.nil?

        record["time"] ||= time
        parse_logplex(record, params)
        unless @drain_ids.nil? || @drain_ids.include?(record['drain_id'])
          log.warn "drain_id not match: #{msg.inspect}"
          next
        end
        records << record
      }
    end
    return nil, records
  else
    raise "'#{EVENT_RECORD_PARAMETER}' parameter is required"
  end
end