Class: Raven::CLI
- Inherits:
-
Object
- Object
- Raven::CLI
- Defined in:
- lib/raven/cli.rb
Class Method Summary collapse
-
.test(dsn = nil, silent = false, config = nil) ⇒ Object
rubocop:disable all.
Class Method Details
.test(dsn = nil, silent = false, config = nil) ⇒ Object
rubocop:disable all
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/raven/cli.rb', line 3 def self.test(dsn = nil, silent = false, config = nil) # rubocop:disable all config ||= Raven.configuration config.logger = if silent ::Logger.new(nil) else logger = ::Logger.new(STDOUT) logger.formatter = proc do |_severity, _datetime, _progname, msg| "-> #{msg}\n" end logger end config.timeout = 5 config.dsn = dsn if dsn # wipe out env settings to ensure we send the event unless config.capture_allowed? env_name = config.environments.pop || 'production' config.current_environment = env_name end instance = Raven::Instance.new(nil, config) instance.logger.debug "Sending a test event:" instance.logger.debug "" begin 1 / 0 rescue ZeroDivisionError => exception evt = instance.capture_exception(exception) end if evt && !(evt.is_a? Thread) if evt.is_a? Hash instance.logger.debug "-> event ID: #{evt[:event_id]}" else instance.logger.debug "-> event ID: #{evt.id}" end elsif evt # async configuration if evt.value.is_a? Hash instance.logger.debug "-> event ID: #{evt.value[:event_id]}" else instance.logger.debug "-> event ID: #{evt.value.id}" end else instance.logger.debug "" instance.logger.debug "An error occurred while attempting to send the event." exit 1 end instance.logger.debug "" instance.logger.debug "Done!" evt end |