Sha256: 9742eee63cde1d620e5ee35620e14772e7be3a86dbd8cbb738dad7293f30f5d5
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
# -*- encoding : utf-8 -*- module Fluent class SplitOutput < Output Fluent::Plugin.register_output('split', self) def initialize super end config_param :output_tag, :string config_param :output_key, :string config_param :format, :string, :default => "csv" config_param :key_name, :string config_param :keep_keys, :string, :default => "" 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 def emit(tag, es, chain) es.each { |time, record| next if record[@key_name].nil? record[@key_name].split(@separator).each{|item| result = {@output_key => item} record.each {|key,value| result[key] = value if @keep_keys_array.include?(key) } Engine.emit(output_tag, time, result) } } chain.next rescue => e $log.warn e.message $log.warn e.backtrace.join(', ') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-split-0.0.3 | lib/fluent/plugin/out_split.rb |