Class: DiscordRDA::ErrorTracker

Inherits:
Object
  • Object
show all
Defined in:
lib/discord_rda/core/error_tracker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: false, logger: nil) ⇒ ErrorTracker

Returns a new instance of ErrorTracker.



7
8
9
10
# File 'lib/discord_rda/core/error_tracker.rb', line 7

def initialize(enabled: false, logger: nil)
  @enabled = enabled
  @logger = logger
end

Instance Attribute Details

#enabledObject (readonly)

Returns the value of attribute enabled.



5
6
7
# File 'lib/discord_rda/core/error_tracker.rb', line 5

def enabled
  @enabled
end

Instance Method Details

#capture(error, **context) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/discord_rda/core/error_tracker.rb', line 12

def capture(error, **context)
  return unless enabled

  if defined?(::Sentry)
    ::Sentry.capture_exception(error, extra: context)
  else
    @logger&.error('Captured error', error: error, **context)
  end
end