-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Logstash filters typically call a filter_matched method which mutates documents by adding or removing fields and/or tags upon successful completion.
eg, The documentation for add_tag in filter states:
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.
The logic behind "if this filter is successful" is somewhat open to interpretation, and is applied inconsistently across plugins; some filters will call filter_matched no matter if the filter had any effect on the incoming event, others will only call filter_matched if a lookup or mutation was applied to the event from that filter.
For example:
logstash-filter-prune will call filter_matched regardless of whether any fields were pruned from the event.
logstash-filter-mutate will call filter_matched regardless of whether any fields were mutated.
logstash-filter-grok will only call filter_matched if a match was found.
Going forward, we would like to provide a consistent, and clear determination on the use of filter_matched to mutate events appropriately after a filter has been processed.
This issue will be used to capture current behaviour of filters, and what the desired behaviour is going forward