class Fluent::SplitOutput
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_split.rb, line 14 def initialize super end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_split.rb, line 24 def configure(conf) super @keep_keys_array = @keep_keys.split(',') if @format == 'csv' @separator = ',' elsif @format == 'tsv' @separator = '\t' elsif @format == 'space' @separator = /[\s ]/ else @separator = @format end end
emit(tag, es, chain)
click to toggle source
# File lib/fluent/plugin/out_split.rb, line 38 def emit(tag, es, chain) es.each do |time, record| next if record[@key_name].nil? record[@key_name].split(@separator).each do|item| result = { @output_key => item } record.each do|key, value| result[key] = value if @keep_keys_array.include?(key) end router.emit(output_tag, time, result) end end rescue => e log.warn e.message log.warn e.backtrace.join(', ') ensure chain.next end