From 61dc3da1279bc1bb556472bae42d369ad251b3ee Mon Sep 17 00:00:00 2001 From: uu59 Date: Tue, 24 Jun 2014 16:53:49 +0900 Subject: [PATCH] Grok convert to Regexp for config file --- app/models/fluentd/setting.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/fluentd/setting.rb b/app/models/fluentd/setting.rb index 083489f..1da1a80 100644 --- a/app/models/fluentd/setting.rb +++ b/app/models/fluentd/setting.rb @@ -65,7 +65,7 @@ class Fluentd def certain_format_line case format when "grok" - "format #{grok_str} # grok: #{grok_str}" # TODO: convert to regexp + "format /#{grok.convert_to_regexp(grok_str).source.gsub("/", "\\/")}/ # grok: '#{grok_str}'" # TODO: convert to regexp when "regexp" "format #{regexp}" else @@ -73,6 +73,15 @@ class Fluentd end end + def grok + @grok ||= + begin + grok = GrokConverter.new + grok.load_patterns(Rails.root + "vendor/patterns") + grok + end + end + def to_conf # NOTE: Using strip_heredoc makes more complex for format_specific_conf indent <<-XML.gsub(/^[ ]*\n/m, "")