class Fluent::Plugin::Apache2Parser
Constants
- REGEXP
- TIME_FORMAT
Public Class Methods
new()
click to toggle source
Calls superclass method
Fluent::Plugin::Parser::new
# File lib/fluent/plugin/parser_apache2.rb, line 27 def initialize super @mutex = Mutex.new end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
Fluent::Plugin::Parser#configure
# File lib/fluent/plugin/parser_apache2.rb, line 32 def configure(conf) super @time_parser = time_parser_create(format: TIME_FORMAT) end
parse(text) { |nil, nil| ... }
click to toggle source
# File lib/fluent/plugin/parser_apache2.rb, line 41 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
patterns()
click to toggle source
# File lib/fluent/plugin/parser_apache2.rb, line 37 def patterns {'format' => REGEXP, 'time_format' => TIME_FORMAT} end