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
|
# File 'lib/roqua/support/errors.rb', line 12
def self.report(exception, = {})
return if const_defined?(:Rails) and Rails.env.test?
parameters = .merge()
if Roqua.respond_to?(:logger)
Roqua.logger.error('roqua.exception',
class_name: exception.class.to_s,
message: exception.message,
backtrace: exception.backtrace,
parameters: parameters)
end
if const_defined?(:Airbrake)
Airbrake.notify_or_ignore(exception, parameters: parameters)
end
if const_defined?(:Appsignal) and
not Appsignal.is_ignored_exception?(exception)
if Appsignal.active?
if Appsignal::Transaction.current
Appsignal::Transaction.current.set_tags(parameters)
Appsignal::Transaction.current.add_exception(exception)
else
transaction = Appsignal::Transaction.create(SecureRandom.uuid, ENV.to_hash)
transaction.set_tags(parameters)
transaction.add_exception(exception)
transaction.complete!
Appsignal.agent.send_queue
end
end
end
end
|