lib/logster/base_store.rb in logster-2.2.0 vs lib/logster/base_store.rb in logster-2.3.0

- old
+ new

@@ -99,10 +99,24 @@ # returns an array of strings each of which must be convertible to regexp def get_patterns(set_name) not_implemented end + # increments the number of messages that have been suppressed by a pattern + def increment_ignore_count(pattern) + end + + # removes number of suppressed messages by a pattern + def remove_ignore_count(pattern) + end + + # returns a hash that maps patterns to the number of messages they + # have suppressed + def get_all_ignore_count + {} + end + def report(severity, progname, msg, opts = {}) return if (!msg || (String === msg && msg.empty?)) && skip_empty return if level && severity < level message = Logster::Message.new(severity, progname, msg, opts[:timestamp], count: opts[:count]) @@ -123,16 +137,27 @@ message.backtrace = backtrace else message.backtrace = caller.join("\n") end - return if ignore && ignore.any? { |pattern| message =~ pattern } + return if ignore && ignore.any? do |pattern| + if message =~ pattern + val = Regexp === pattern ? pattern.inspect : pattern.to_s + increment_ignore_count(val) + true + end + end if Logster.config.enable_custom_patterns_via_ui || allow_custom_patterns custom_ignore = @patterns_cache.fetch do Logster::SuppressionPattern.find_all(store: self) end - return if custom_ignore.any? { |pattern| message =~ pattern } + return if custom_ignore.any? do |pattern| + if message =~ pattern + increment_ignore_count(pattern.inspect) + true + end + end end similar = nil if Logster.config.allow_grouping