class LogStash::Filters::Merge
Public Instance Methods
filter(event)
click to toggle source
# File lib/logstash/filters/merge.rb, line 48 def filter(event) value = event.get(@field) if @target.nil? hash_merge(event.to_hash, value) else event.set(@target, hash_merge(event.get(@target), value)) end filter_matched(event) end
register()
click to toggle source
# File lib/logstash/filters/merge.rb, line 44 def register end
Private Instance Methods
hash_merge(target, source)
click to toggle source
# File lib/logstash/filters/merge.rb, line 22 def hash_merge(target, source) if source.is_a? Hash if not target.is_a? Hash and @overwrite target = {} end source.each do |source_key, source_value| next if @whitelist.length > 0 and not @whitelist.include? source_key next if target.include? source_key and not @overwrite target[source_key] = source_value end else if target.nil? or @overwrite target = source end end return target end