Module: LogStash::Util::Decorators
Overview
Decorators provides common manipulation on the event data.
Instance Method Summary collapse
-
#add_fields(fields, event, pluginname) ⇒ Object
fields is a hash of field => value where both ‘field` and `value` can use sprintf syntax.
-
#add_tags(tags, event, pluginname) ⇒ Object
tags is an array of string.
Instance Method Details
#add_fields(fields, event, pluginname) ⇒ Object
fields is a hash of field => value where both ‘field` and `value` can use sprintf syntax.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/logstash/util/decorators.rb', line 16 def add_fields(fields,event, pluginname) fields.each do |field, value| field = event.sprintf(field) value = Array(value) value.each do |v| v = event.sprintf(v) if event.include?(field) event[field] = Array(event[field]) event[field] << v else event[field] = v end @logger.debug? and @logger.debug("#{pluginname}: adding value to field", :field => field, :value => value) end end end |
#add_tags(tags, event, pluginname) ⇒ Object
tags is an array of string. sprintf syntax can be used.
35 36 37 38 39 40 41 42 |
# File 'lib/logstash/util/decorators.rb', line 35 def (, event, pluginname) .each do |tag| tag = event.sprintf(tag) @logger.debug? and @logger.debug("#{pluginname}: adding tag", :tag => tag) (event["tags"] ||= []) << tag end end |