Class: Fluent::Plugin::MultilineGrokParser

Inherits:
GrokParser
  • Object
show all
Defined in:
lib/fluent/plugin/parser_multiline_grok.rb

Instance Method Summary collapse

Methods inherited from GrokParser

#configure, #initialize

Constructor Details

This class inherits a constructor from Fluent::Plugin::GrokParser

Instance Method Details

#firstline?(text) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/fluent/plugin/parser_multiline_grok.rb', line 15

def firstline?(text)
  @multiline_start_regexp && !!@grok.multiline_start_regexp.match(text)
end

#has_firstline?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/fluent/plugin/parser_multiline_grok.rb', line 11

def has_firstline?
  !!@multiline_start_regexp
end

#parse(text) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/fluent/plugin/parser_multiline_grok.rb', line 19

def parse(text)
  @grok.parsers.each do |parser|
    parser.parse(text) do |time, record|
      if time and record
        yield time, record
        return
      end
    end
  end
  @default_parser.parse(text) do |time, record|
    record[@grok_failure_key] = "No grok pattern matched" if @grok_failure_key
    yield time, record
  end
end