class Logster::SuppressionPattern

Constants

CACHE_KEY

Public Class Methods

set_name() click to toggle source
# File lib/logster/suppression_pattern.rb, line 6
def self.set_name
  "__LOGSTER__suppression_patterns_set".freeze
end

Public Instance Methods

destroy(clear_cache: true) click to toggle source
Calls superclass method Logster::Pattern#destroy
# File lib/logster/suppression_pattern.rb, line 16
def destroy(clear_cache: true) # arg used in tests
  super()
  @store.remove_ignore_count(self.to_s)
  @store.clear_patterns_cache(CACHE_KEY) if clear_cache
end
save(args = {}) click to toggle source
Calls superclass method Logster::Pattern#save
# File lib/logster/suppression_pattern.rb, line 10
def save(args = {})
  super
  @store.clear_patterns_cache(CACHE_KEY)
  retro_delete_messages if args[:retroactive]
end

Private Instance Methods

retro_delete_messages() click to toggle source
# File lib/logster/suppression_pattern.rb, line 24
def retro_delete_messages
  keys = []
  grouping_keys = []
  @store.get_all_messages(with_env: false).each do |message|
    if message =~ self.pattern
      keys << message.key
      grouping_keys << message.grouping_key
    end
  end
  @store.bulk_delete(keys, grouping_keys) if keys.size > 0 && grouping_keys.size > 0
end