Module: BrainzLab::Recall
- Defined in:
- lib/brainzlab/recall.rb,
lib/brainzlab/recall/buffer.rb,
lib/brainzlab/recall/client.rb,
lib/brainzlab/recall/logger.rb,
lib/brainzlab/recall/provisioner.rb
Defined Under Namespace
Classes: Buffer, Client, Logger, Provisioner
Class Method Summary
collapse
Class Method Details
.debug(message, **data) ⇒ Object
11
12
13
|
# File 'lib/brainzlab/recall.rb', line 11
def debug(message, **data)
log(:debug, message, **data)
end
|
.ensure_provisioned! ⇒ Object
55
56
57
58
59
60
61
62
63
|
# File 'lib/brainzlab/recall.rb', line 55
def ensure_provisioned!
config = BrainzLab.configuration
puts "[BrainzLab::Debug] Recall.ensure_provisioned! called, @provisioned=#{@provisioned}" if config.debug
return if @provisioned
@provisioned = true
provisioner.ensure_project!
end
|
.error(message, **data) ⇒ Object
23
24
25
|
# File 'lib/brainzlab/recall.rb', line 23
def error(message, **data)
log(:error, message, **data)
end
|
.fatal(message, **data) ⇒ Object
27
28
29
|
# File 'lib/brainzlab/recall.rb', line 27
def fatal(message, **data)
log(:fatal, message, **data)
end
|
.flush ⇒ Object
78
79
80
|
# File 'lib/brainzlab/recall.rb', line 78
def flush
buffer.flush
end
|
.info(message, **data) ⇒ Object
15
16
17
|
# File 'lib/brainzlab/recall.rb', line 15
def info(message, **data)
log(:info, message, **data)
end
|
.log(level, message, **data) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/brainzlab/recall.rb', line 31
def log(level, message, **data)
config = BrainzLab.configuration
return unless config.recall_effectively_enabled?
return unless config.level_enabled?(level)
entry = build_entry(level, message, data)
log_debug_operation(level, message, data)
if config.development_mode?
Development.record(service: :recall, event_type: 'log', payload: entry)
return
end
ensure_provisioned!
return unless config.valid?
buffer.push(entry)
end
|
.logger(name = nil) ⇒ Object
82
83
84
|
# File 'lib/brainzlab/recall.rb', line 82
def logger(name = nil)
Logger.new(name)
end
|
.reset! ⇒ Object
94
95
96
97
98
99
|
# File 'lib/brainzlab/recall.rb', line 94
def reset!
@client = nil
@buffer = nil
@provisioner = nil
@provisioned = false
end
|
.time(label, **data) ⇒ Object
69
70
71
72
73
74
75
76
|
# File 'lib/brainzlab/recall.rb', line 69
def time(label, **data)
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
result = yield
duration_ms = ((Process.clock_gettime(Process::CLOCK_MONOTONIC) - start) * 1000).round(1)
info("#{label} (#{duration_ms}ms)", **data, duration_ms: duration_ms)
result
end
|
.warn(message, **data) ⇒ Object
19
20
21
|
# File 'lib/brainzlab/recall.rb', line 19
def warn(message, **data)
log(:warn, message, **data)
end
|