Sha256: 1a5a7b3e783f6f595b4ff7a481605baf761e1c1fe570bd6ca9489ef1551b3a11
Contents?: true
Size: 1023 Bytes
Versions: 4
Compression:
Stored size: 1023 Bytes
Contents
# { # "parse": { # "field": "message", # "pattern": "()" # } # } module Anschel class Filter def parse conf, log field = conf.delete :field pattern = Regexp.new conf.delete(:pattern) raise 'Missing required "field" for "parse" filter' if field.nil? raise 'Missing required "pattern" for "parse" filter' if pattern.nil? field = field.to_sym log.trace event: 'filter-compiled', kind: 'parse', \ field: field, pattern: pattern lambda do |event| return event unless event.has_key? field mdata = pattern.match event[field] if mdata.nil? log.error \ event: 'parse-filter-error', reason: 'regexp did not match', field: field, pattern: pattern, raw_event: event return filtered(event, conf) end mdata.names.each do |group| event[group.to_sym] = mdata[group] end filtered event, conf end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
anschel-0.6.5 | lib/anschel/filter/parse.rb |
anschel-0.6.4 | lib/anschel/filter/parse.rb |
anschel-0.6.3 | lib/anschel/filter/parse.rb |
anschel-0.6.2 | lib/anschel/filter/parse.rb |