Module: BrainzLab::Reflex
- Defined in:
- lib/brainzlab/reflex.rb,
lib/brainzlab/reflex/client.rb,
lib/brainzlab/reflex/breadcrumbs.rb,
lib/brainzlab/reflex/provisioner.rb
Defined Under Namespace
Classes: Breadcrumbs, Client, Provisioner
Constant Summary
collapse
- FILTERED_PARAMS =
%w[password password_confirmation token api_key secret credit_card cvv ssn].freeze
Class Method Summary
collapse
Class Method Details
.add_breadcrumb(message, category: 'default', level: :info, data: nil) ⇒ Object
46
47
48
|
# File 'lib/brainzlab/reflex/breadcrumbs.rb', line 46
def add_breadcrumb(message, category: 'default', level: :info, data: nil)
breadcrumbs.add(message: message, category: category, level: level, data: data)
end
|
.breadcrumbs ⇒ Object
42
43
44
|
# File 'lib/brainzlab/reflex/breadcrumbs.rb', line 42
def breadcrumbs
Context.current.breadcrumbs
end
|
.capture(exception, **context) ⇒ Object
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
|
# File 'lib/brainzlab/reflex.rb', line 12
def capture(exception, **context)
return unless enabled?
return if capture_disabled?
return if excluded?(exception)
return if sampled_out?
log_debug_capture(exception)
payload = build_payload(exception, context)
payload = run_before_send(payload, exception)
return if payload.nil?
if BrainzLab.configuration.development_mode?
Development.record(service: :reflex, event_type: 'error', payload: payload)
return
end
ensure_provisioned!
return unless BrainzLab.configuration.reflex_valid?
client.send_error(payload)
end
|
.capture_message(message, level: :error, **context) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/brainzlab/reflex.rb', line 39
def capture_message(message, level: :error, **context)
return unless enabled?
return if capture_disabled?
return if sampled_out?
log_debug_message(message, level)
payload = build_message_payload(message, level, context)
payload = run_before_send(payload, nil)
return if payload.nil?
if BrainzLab.configuration.development_mode?
Development.record(service: :reflex, event_type: 'message', payload: payload)
return
end
ensure_provisioned!
return unless BrainzLab.configuration.reflex_valid?
client.send_error(payload)
end
|
.clear_breadcrumbs! ⇒ Object
50
51
52
|
# File 'lib/brainzlab/reflex/breadcrumbs.rb', line 50
def clear_breadcrumbs!
breadcrumbs.clear!
end
|
.ensure_provisioned! ⇒ Object
65
66
67
68
69
70
|
# File 'lib/brainzlab/reflex.rb', line 65
def ensure_provisioned!
return if @provisioned
@provisioned = true
provisioner.ensure_project!
end
|
.reset! ⇒ Object
89
90
91
92
93
|
# File 'lib/brainzlab/reflex.rb', line 89
def reset!
@client = nil
@provisioner = nil
@provisioned = false
end
|
.without_capture ⇒ Object
Temporarily disable capture within a block
77
78
79
80
81
82
83
|
# File 'lib/brainzlab/reflex.rb', line 77
def without_capture
previous = Thread.current[:brainzlab_capture_disabled]
Thread.current[:brainzlab_capture_disabled] = true
yield
ensure
Thread.current[:brainzlab_capture_disabled] = previous
end
|