From 006d21785bbfb1ab6c18090724c05291c68b548b Mon Sep 17 00:00:00 2001 From: Tejas Dinkar Date: Tue, 6 Mar 2012 20:06:20 +0530 Subject: [PATCH] Added a filter to add fields from environment variables --- lib/logstash/filters/environment.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/logstash/filters/environment.rb diff --git a/lib/logstash/filters/environment.rb b/lib/logstash/filters/environment.rb new file mode 100644 index 00000000000..ec5a8619d6e --- /dev/null +++ b/lib/logstash/filters/environment.rb @@ -0,0 +1,26 @@ +require "logstash/filters/base" +require "logstash/namespace" + +# Set fields from environment variables +class LogStash::Filters::Environment < LogStash::Filters::Base + config_name "environment" + plugin_status "stable" + + # Specify a hash of fields to the environment variable + # A hash of matches of field => environment variable + config :add_field_from_env, :validate => :hash, :default => {} + + public + def register + # Nothing + end # def register + + public + def filter(event) + return unless filter?(event) + @add_field_from_env.each do |field, env| + event.fields[field] = ENV[env] + end + filter_matched(event) + end # def filter +end # class LogStash::Filters::Environment