class Fluent::Plugin::SiteguardParser

Constants

DETECT
FORM
TIME_FORMAT

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/fluent/plugin/parser_siteguard.rb, line 29
def initialize
  super
  @mutex = Mutex.new
end

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/parser_siteguard.rb, line 34
def configure(conf)
  super
  @time_parser = time_parser_create(format: TIME_FORMAT)
  @regexp = case @message_format
            when :detect
              DETECT
            when :form
              FORM
            end
end
parse(text) { |nil, nil| ... } click to toggle source
# File lib/fluent/plugin/parser_siteguard.rb, line 45
def parse(text)
  m = @regexp.match(text)
  unless m
    yield nil, nil
    return
  end

  time = nil
  record = {}

  m.names.each { |name|
    if value = m[name]
      case name
      when 'time'
        time = @mutex.synchronize { @time_parser.parse(m['time']) }
        record[name] = m[name] if @keep_time_key
      else
        record[name] = m[name]
      end
    end
  }
  yield time, record
end