Module: Errsight
- Defined in:
- lib/errsight.rb,
lib/errsight/client.rb,
lib/errsight/logger.rb,
lib/errsight/railtie.rb,
lib/errsight/version.rb,
lib/errsight/configuration.rb
Defined Under Namespace
Classes: Client, Configuration, ConfigurationError, Error, Logger, Railtie
Constant Summary
collapse
- VERSION =
"0.1.1"
Class Method Summary
collapse
Class Method Details
.capture_exception(exception, metadata: {}) ⇒ Object
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/errsight.rb', line 40
def capture_exception(exception, metadata: {})
return unless exception.is_a?(Exception)
log(
level: :error,
message: "#{exception.class}: #{exception.message}",
backtrace: exception.backtrace&.join("\n"),
metadata: metadata.merge(exception_class: exception.class.to_s)
)
end
|
.client ⇒ Object
22
23
24
|
# File 'lib/errsight.rb', line 22
def client
@client ||= Client.new(configuration)
end
|
.configuration ⇒ Object
12
13
14
|
# File 'lib/errsight.rb', line 12
def configuration
@configuration ||= Configuration.new
end
|
16
17
18
19
20
|
# File 'lib/errsight.rb', line 16
def configure
yield configuration
configuration.validate!
configuration
end
|
.log(level:, message:, backtrace: nil, environment: nil, metadata: {}, occurred_at: nil) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/errsight.rb', line 26
def log(level:, message:, backtrace: nil, environment: nil, metadata: {}, occurred_at: nil)
return unless configuration.enabled?
return if level_below_threshold?(level)
client.enqueue(
level: level.to_s,
message: message.to_s,
backtrace: backtrace,
environment: environment || configuration.environment,
metadata: metadata,
occurred_at: (occurred_at || Time.now).iso8601(3)
)
end
|