Sha256: e7e8819b7107fab359d263f8ce8e48af659087bc12ee0360f553ef09fb9b8bf8
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 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" milestone 2 # 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) return unless filter?(event) if overwrite event[target] = SecureRandom.uuid else event[target] ||= SecureRandom.uuid end filter_matched(event) end # def filter end # class LogStash::Filters::Uuid
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logstash-filter-uuid-0.1.2 | lib/logstash/filters/uuid.rb |