Class: LogStash::Filters::Memorize
- Inherits:
-
Base
- Object
- Base
- LogStash::Filters::Memorize
- Defined in:
- lib/logstash/filters/memorize.rb
Overview
to use if the field isn’t present and has no memorized value (optional)
Instance Method Summary collapse
- #filter(event) ⇒ Object
-
#initialize(config = {}) ⇒ Memorize
constructor
A new instance of Memorize.
- #register ⇒ Object
Constructor Details
#initialize(config = {}) ⇒ Memorize
Returns a new instance of Memorize.
40 41 42 43 44 45 46 47 |
# File 'lib/logstash/filters/memorize.rb', line 40 def initialize(config = {}) super @threadsafe = false # This filter needs to keep state. @memorized = Hash.new end |
Instance Method Details
#filter(event) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/logstash/filters/memorize.rb', line 55 def filter(event) return unless filter?(event) any = false key = event.sprintf(@stream_identity) @fields.each do |field| if event[field].nil? map = @memorized[key] val = map.nil? ? nil : map[field] if val.nil? val = @default.nil? ? nil : @default[field] else event[field] = val any = true end else map = @memorized[key] if map.nil? map = @memorized[key] = Hash.new end map[field] = event[field] end #if if any filter_matched(event) end end #field.each end |
#register ⇒ Object
50 51 52 |
# File 'lib/logstash/filters/memorize.rb', line 50 def register # nothing needed end |