Module: Raygun
- Extended by:
- Testable
- Defined in:
- lib/raygun/sidekiq.rb,
lib/raygun.rb,
lib/raygun/error.rb,
lib/raygun/client.rb,
lib/raygun/version.rb,
lib/raygun/testable.rb,
lib/raygun/breadcrumbs.rb,
lib/raygun/affected_user.rb,
lib/raygun/configuration.rb,
lib/raygun/breadcrumbs/store.rb,
lib/raygun/breadcrumbs/breadcrumb.rb,
lib/generators/raygun/install_generator.rb,
lib/raygun/middleware/rack_exception_interceptor.rb,
lib/raygun/middleware/rails_insert_affected_user.rb,
lib/raygun/middleware/breadcrumbs_store_initializer.rb,
lib/raygun/services/apply_whitelist_filter_to_payload.rb
Overview
Defined Under Namespace
Modules: Breadcrumbs, Middleware, Services, Testable
Classes: AffectedUser, Client, Configuration, Error, InstallGenerator, ItWorksException, Railtie, SidekiqMiddleware, SidekiqReporter
Constant Summary
collapse
- CLIENT_URL =
used to identify ourselves to Raygun
"https://github.com/MindscapeHQ/raygun4ruby"
- CLIENT_NAME =
"Raygun4Ruby Gem"
- VERSION =
"2.1.0"
Class Attribute Summary collapse
Class Method Summary
collapse
-
.configured? ⇒ Boolean
-
.default_configuration ⇒ Object
-
.deprecation_warning(message) ⇒ Object
-
.failsafe_log(message) ⇒ Object
-
.log(message) ⇒ Object
-
.record_breadcrumb(message: nil, category: '', level: :info, timestamp: Time.now.utc, metadata: {}, class_name: nil, method_name: nil, line_number: nil) ⇒ Object
-
.setup {|configuration| ... } ⇒ Object
-
.track_exception(exception_instance, env = {}, user = nil, retry_count = 1) ⇒ Object
-
.track_exceptions ⇒ Object
Methods included from Testable
track_test_exception
Class Attribute Details
.configuration ⇒ Object
44
45
46
|
# File 'lib/raygun.rb', line 44
def configuration
@configuration ||= Configuration.new
end
|
Class Method Details
52
53
54
|
# File 'lib/raygun.rb', line 52
def configured?
!!configuration.api_key
end
|
.default_configuration ⇒ Object
48
49
50
|
# File 'lib/raygun.rb', line 48
def default_configuration
configuration.defaults
end
|
.deprecation_warning(message) ⇒ Object
115
116
117
118
119
120
121
|
# File 'lib/raygun.rb', line 115
def deprecation_warning(message)
if defined?(ActiveSupport::Deprecation)
ActiveSupport::Deprecation.warn(message)
else
puts message
end
end
|
.failsafe_log(message) ⇒ Object
111
112
113
|
# File 'lib/raygun.rb', line 111
def failsafe_log(message)
configuration.failsafe_logger.info(message)
end
|
.log(message) ⇒ Object
107
108
109
|
# File 'lib/raygun.rb', line 107
def log(message)
configuration.logger.info(message) if configuration.logger
end
|
.record_breadcrumb(message: nil, category: '', level: :info, timestamp: Time.now.utc, metadata: {}, class_name: nil, method_name: nil, line_number: nil) ⇒ Object
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/raygun.rb', line 85
def record_breadcrumb(
message: nil,
category: '',
level: :info,
timestamp: Time.now.utc,
metadata: {},
class_name: nil,
method_name: nil,
line_number: nil
)
Raygun::Breadcrumbs::Store.record(
message: message,
category: category,
level: level,
timestamp: timestamp,
metadata: metadata,
class_name: class_name,
method_name: method_name,
line_number: line_number,
)
end
|
.setup {|configuration| ... } ⇒ Object
40
41
42
|
# File 'lib/raygun.rb', line 40
def setup
yield(configuration)
end
|
.track_exception(exception_instance, env = {}, user = nil, retry_count = 1) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/raygun.rb', line 56
def track_exception(exception_instance, env = {}, user = nil, retry_count = 1)
if should_report?(exception_instance)
log("[Raygun] Tracking Exception...")
Client.new.track_exception(exception_instance, env, user)
end
rescue Exception => e
if configuration.failsafe_logger
failsafe_log("Problem reporting exception to Raygun: #{e.class}: #{e.message}\n\n#{e.backtrace.join("\n")}")
end
if retry_count > 0
new_exception = e.exception("raygun4ruby encountered an exception processing your exception")
new_exception.set_backtrace(e.backtrace)
env[:custom_data] ||= {}
env[:custom_data].merge!(original_stacktrace: exception_instance.backtrace)
track_exception(new_exception, env, user, retry_count - 1)
else
raise e
end
end
|
.track_exceptions ⇒ Object
79
80
81
82
83
|
# File 'lib/raygun.rb', line 79
def track_exceptions
yield
rescue => e
track_exception(e)
end
|