Class: Fluent::ParseMultipleValueQueryOutput
- Inherits:
-
Output
- Object
- Output
- Fluent::ParseMultipleValueQueryOutput
- Defined in:
- lib/fluent/plugin/out_parse_multiple_value_query.rb
Instance Method Summary collapse
- #configure(conf) ⇒ Object
- #emit(tag, es, chain) ⇒ Object
-
#initialize ⇒ ParseMultipleValueQueryOutput
constructor
A new instance of ParseMultipleValueQueryOutput.
- #parse_query_string(record, query_string) ⇒ Object
- #parse_uri(record) ⇒ Object
- #shutdown ⇒ Object
- #start ⇒ Object
Constructor Details
#initialize ⇒ ParseMultipleValueQueryOutput
10 11 12 13 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 10 def initialize super require 'rack' end |
Instance Method Details
#configure(conf) ⇒ Object
20 21 22 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 20 def configure(conf) super end |
#emit(tag, es, chain) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 32 def emit(tag, es, chain) es.each {|time, record| t = tag.dup new_record = parse_uri(record) t = @tag_prefix + t unless @tag_prefix.nil? Engine.emit(t, time, new_record) } chain.next rescue => e log.warn("out_parse_multiple_value_uri_query: error_class:#{e.class} error_message:#{e.message} tag:#{tag} es:#{es} bactrace:#{e.backtrace.first}") end |
#parse_query_string(record, query_string) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 59 def parse_query_string(record, query_string) begin parsed_query = Rack::Utils.parse_nested_query(query_string) parsed_query.each do |key, value| if value == "" record[key] = "" else if value.class == Array && remove_empty_array if value.empty? || value == [""] || value == [nil] record.delete(key) else record[key] = value end else record[key] = value end end end rescue => e log.warn("out_parse_multiple_value_uri_query: error_class:#{e.class} error_message:#{e.message} record:#{record} bactrace:#{e.backtrace.first}") end return record end |
#parse_uri(record) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 46 def parse_uri(record) if record[key] if only_query_string record = parse_query_string(record,record[key]) return record else query = URI.parse(record[key]).query record = parse_query_string(record, query) return record end end end |
#shutdown ⇒ Object
28 29 30 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 28 def shutdown super end |
#start ⇒ Object
24 25 26 |
# File 'lib/fluent/plugin/out_parse_multiple_value_query.rb', line 24 def start super end |