Sha256: ab23af95731edd8e789879e360da2b381b53a3c75d4b0bc77347ac960460ff7e

Contents?: true

Size: 1.29 KB

Versions: 27

Compression:

Stored size: 1.29 KB

Contents

# encoding: utf-8
require "logstash/namespace"
require "logstash/util"

module LogStash::Util

  # Decorators provides common manipulation on the event data.
  module Decorators
    extend self
    
    @logger = Cabin::Channel.get(LogStash)

    # fields is a hash of field => value
    # where both `field` and `value` can use sprintf syntax.
    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

    # tags is an array of string. sprintf syntax can be used.
    def add_tags(tags, event, pluginname)
      tags.each do |tag|
        tag = event.sprintf(tag)
        @logger.debug? and @logger.debug("#{pluginname}: adding tag",
                                       :tag => tag)
        (event["tags"] ||= []) << tag
      end
    end

  end # module LogStash::Util::Decorators

end # module LogStash::Util

Version data entries

27 entries across 24 versions & 3 rubygems

Version Path
able-neo4j-1.0.0 vendor/bundle/jruby/1.9/gems/logstash-core-1.5.4-java/lib/logstash/util/decorators.rb
logstash-core-2.1.3-java lib/logstash/util/decorators.rb
logstash-core-2.1.2-java lib/logstash/util/decorators.rb
logstash-core-2.1.2.snapshot1-java lib/logstash/util/decorators.rb
logstash-core-2.1.1-java lib/logstash/util/decorators.rb
logstash-core-1.5.6-java lib/logstash/util/decorators.rb
logstash-core-2.1.0-java lib/logstash/util/decorators.rb
logstash-core-2.1.0.snapshot4-java lib/logstash/util/decorators.rb
logstash-core-2.1.0.snapshot3-java lib/logstash/util/decorators.rb
logstash-input-beats-2.0.2 vendor/jruby/1.9/gems/logstash-core-2.0.0-java/lib/logstash/util/decorators.rb
logstash-input-beats-2.0.2 vendor/jruby/1.9/gems/logstash-core-2.0.1-java/lib/logstash/util/decorators.rb
logstash-core-2.0.1-java lib/logstash/util/decorators.rb
logstash-core-2.1.0.snapshot2-java lib/logstash/util/decorators.rb
logstash-core-2.1.0.snapshot1-java lib/logstash/util/decorators.rb
logstash-core-2.0.1.snapshot1-java lib/logstash/util/decorators.rb
logstash-core-1.5.5-java lib/logstash/util/decorators.rb
logstash-core-2.0.0-java lib/logstash/util/decorators.rb
logstash-core-2.0.0.rc1-java lib/logstash/util/decorators.rb
logstash-input-beats-0.9.2 vendor/jruby/1.9/gems/logstash-core-1.5.4-java/lib/logstash/util/decorators.rb
logstash-input-beats-0.9.2 vendor/jruby/1.9/gems/logstash-core-2.0.0.beta3-java/lib/logstash/util/decorators.rb