8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/fluent/plugin/in_tail_multiline_ex.rb', line 8
def configure(conf, required=true)
format = conf['format']
if format == nil
raise ConfigError, "'format' parameter is required"
elsif format[0] != ?/ || format[format.length-1] != ?/
raise ConfigError, "'format' should be RegEx. Template is not supported in multiline mode"
end
begin
@regex = Regexp.new(format[1..-2],Regexp::MULTILINE)
if @regex.named_captures.empty?
raise "No named captures"
end
rescue
raise ConfigError, "Invalid regexp in format '#{format[1..-2]}': #{$!}"
end
@parser = RegexpParser.new(@regex, conf)
format_firstline = conf['format_firstline']
if format_firstline
if format_firstline[0] == '/' && format_firstline[format_firstline.length-1] == '/'
@regex = Regexp.new(format_firstline[1..-2])
else
raise ConfigError, "Invalid regexp in format_firstline '#{format_firstline[1..-2]}': #{$!}"
end
end
return true
end
|