class Fluent::TextParser::ApacheParser
Constants
- REGEXP
- TIME_FORMAT
Public Class Methods
new()
click to toggle source
Calls superclass method
Fluent::Parser.new
# File lib/fluent/parser.rb, line 429 def initialize super @time_parser = TimeParser.new(TIME_FORMAT) @mutex = Mutex.new end
Public Instance Methods
parse(text) { |nil, nil| ... }
click to toggle source
# File lib/fluent/parser.rb, line 439 def parse(text) m = REGEXP.match(text) unless m if block_given? yield nil, nil return else return nil, nil end end host = m['host'] host = (host == '-') ? nil : host user = m['user'] user = (user == '-') ? nil : user time = m['time'] time = @mutex.synchronize { @time_parser.parse(time) } method = m['method'] path = m['path'] code = m['code'].to_i code = nil if code == 0 size = m['size'] size = (size == '-') ? nil : size.to_i referer = m['referer'] referer = (referer == '-') ? nil : referer agent = m['agent'] agent = (agent == '-') ? nil : agent record = { "host" => host, "user" => user, "method" => method, "path" => path, "code" => code, "size" => size, "referer" => referer, "agent" => agent, } record["time"] = m['time'] if @keep_time_key if block_given? yield time, record else return time, record end end
patterns()
click to toggle source
# File lib/fluent/parser.rb, line 435 def patterns {'format' => REGEXP, 'time_format' => TIME_FORMAT} end