require "logstash/namespace"
require "logstash/logging"
require "logstash/plugin"
require "logstash/config/mixin"
class LogStash::Filters::Base < LogStash::Plugin
include LogStash::Config::Mixin
config_name "filter"
# The type to act on. If a type is given, then this filter will only
# act on messages with the same type. See any input plugin's "type"
# attribute for more.
# Optional.
config :type, :validate => :string, :default => ""
# Only handle events with all of these tags. Note that if you specify
# a type, the event must also match that type.
# Optional.
config :tags, :validate => :array, :default => []
# If this filter is successful, add arbitrary tags to the event.
# Tags can be dynamic and include parts of the event using the %{field}
# syntax. Example:
#
# filter {
# myfilter {
# add_tag => [ "foo_%{somefield}" ]
# }
# }
#
# If the event has field "somefield" == "hello" this filter, on success,
# would add a tag "foo_hello"
config :add_tag, :validate => :array, :default => []
# If this filter is successful, remove arbitrary tags from the event.
# Tags can be dynamic and include parts of the event using the %{field}
# syntax. Example: