Parent

Methods

Included Modules

Class/Module Index [+]

Quicksearch

Fluent::TextParser::ApacheParser

Constants

REGEXP

Public Instance Methods

call(text) click to toggle source
# File lib/fluent/parser.rb, line 179
def call(text)
  m = REGEXP.match(text)
  unless m
    $log.warn "pattern not match: #{text.inspect}"
    return nil, nil
  end

  host = m['host']
  host = (host == '-') ? nil : host

  user = m['user']
  user = (user == '-') ? nil : user

  time = m['time']
  time = Time.strptime(time, "%d/%b/%Y:%H:%M:%S %z").to_i

  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,
  }

  return time, record
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.