Sha256: 9b5bd0210f0b2f2f37ad6084798ef91efd2684c9c554703cd42c6c27e3f5668c
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 KB
Contents
# encoding: utf-8 require "logstash/filters/base" require "logstash/namespace" require "securerandom" # The uuid filter allows you to add a `UUID` field to messages. # This is useful to be able to control the `_id` messages are indexed into Elasticsearch # with, so that you can insert duplicate messages (i.e. the same message multiple times # without creating duplicates) - for log pipeline reliability # class LogStash::Filters::Uuid < LogStash::Filters::Base config_name "uuid" # Add a UUID to a field. # # Example: # [source,ruby] # filter { # uuid { # target => "@uuid" # } # } config :target, :validate => :string, :required => true # If the value in the field currently (if any) should be overridden # by the generated UUID. Defaults to `false` (i.e. if the field is # present, with ANY value, it won't be overridden) # # Example: # [source,ruby] # filter { # uuid { # target => "@uuid" # overwrite => true # } # } config :overwrite, :validate => :boolean, :default => false public def register end # def register public def filter(event) # SecureRandom.uuid returns a non UTF8 string and since # only UTF8 strings can be passed to a LogStash::Event # we need to reencode it here if overwrite event.set(target, SecureRandom.uuid.force_encoding(Encoding::UTF_8)) elsif event.get(target).nil? event.set(target, SecureRandom.uuid.force_encoding(Encoding::UTF_8)) end filter_matched(event) end # def filter end # class LogStash::Filters::Uuid
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
logstash-filter-uuid-3.0.2 | lib/logstash/filters/uuid.rb |
logstash-filter-uuid-3.0.1 | lib/logstash/filters/uuid.rb |
logstash-filter-uuid-3.0.0 | lib/logstash/filters/uuid.rb |