Sha256: 6be7f82c1f9bef6607c84799291e9bf698e9893de0ccf660365df4ce7acebe38
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require 'fluent/parser' module Fluent class TextParser class MultiFormatParser include Configurable def initialize super @parsers = [] end def configure(conf) super conf.elements.each { |e| next unless ['pattern', 'format'].include?(e.name) parser = TextParser.new parser.configure(e) @parsers << parser.parser } end def call(text) @parsers.each { |parser| begin parser.call(text) { |time, record| if time && record if block_given? yield time, record return else return time, record end end } rescue # ignore parser error end } if block_given? yield nil, nil else return nil, nil end end end register_template('multi_format', Proc.new { MultiFormatParser.new }) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-multi-format-parser-0.0.1 | lib/fluent/plugin/parser_multi_format.rb |