class Fluent::Plugin::Apache2Parser

def parse(text)

def parse(text)
  m = REGEXP.match(text)
  unless m
    yield nil, nil
    return
  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
  yield time, record
end