class Fluent::TextParser::JSONParser
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
Fluent::Parser#configure
# File lib/fluent/parser.rb, line 231 def configure(conf) super unless @time_format.nil? @time_parser = TimeParser.new(@time_format) @mutex = Mutex.new end end
parse(text) { |time, record| ... }
click to toggle source
# File lib/fluent/parser.rb, line 240 def parse(text) record = Yajl.load(text) if value = record.delete(@time_key) if @time_format time = @mutex.synchronize { @time_parser.parse(value) } else begin time = value.to_i rescue => e raise ParserError, "invalid time value: value = #{value}, error_class = #{e.class.name}, error = #{e.message}" end end else if @estimate_current_event time = Engine.now else time = nil end end if block_given? yield time, record else return time, record end rescue Yajl::ParseError if block_given? yield nil, nil else return nil, nil end end