Module: Ichnite
- Defined in:
- lib/ichnite/formatters.rb,
lib/ichnite.rb,
lib/ichnite/logger.rb,
lib/ichnite/testing.rb,
lib/ichnite/version.rb,
lib/ichnite/rails/railtie.rb,
lib/ichnite/action_dispatch/structured_exceptions.rb
Overview
Defined Under Namespace
Modules: ActionDispatch, Formatters, Rails, TestHelper
Classes: Logger, TestLogger
Constant Summary
collapse
- VERSION =
"0.0.6"
Class Method Summary
collapse
Class Method Details
.augment(&blk) ⇒ Object
19
20
21
22
|
# File 'lib/ichnite.rb', line 19
def self.augment(&blk)
@augments ||= []
@augments << blk
end
|
.context(event) ⇒ Object
10
11
12
13
14
15
16
17
|
# File 'lib/ichnite.rb', line 10
def self.context(event)
c = { event: event.to_s }
@augments.each { |a| c.merge!(a.call) } if defined?(@augments)
if Thread.current[:ichnite_context]
c.merge!(Thread.current[:ichnite_context])
end
c
end
|
.default_logger ⇒ Object
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/ichnite.rb', line 45
def self.default_logger
@default_logger ||=
if defined?(::Rails) && ::Rails.respond_to?(:logger)
Ichnite::Logger.new(::Rails.logger)
else
inner = ::Logger.new($stdout)
inner.formatter = proc { |_level, _time, _prog, msg| "#{msg}\n" }
Ichnite::Logger.new(inner)
end
end
|
.default_logger=(logger) ⇒ Object
56
57
58
|
# File 'lib/ichnite.rb', line 56
def self.default_logger=(logger)
@default_logger = logger
end
|
.enter(context) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/ichnite.rb', line 24
def self.enter(context)
Thread.current[:ichnite_context] ||= {}
Thread.current[:ichnite_context].merge!(context)
if block_given?
begin
yield
ensure
leave(*context.keys)
end
end
end
|
.leave(*context_keys) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/ichnite.rb', line 37
def self.leave(*context_keys)
if context_keys.empty?
Thread.current[:ichnite_context] = {}
else
context_keys.each {|k| Thread.current[:ichnite_context].delete k }
end
end
|
.log(event, opts = {}) ⇒ Object
6
7
8
|
# File 'lib/ichnite.rb', line 6
def self.log(event, opts = {})
default_logger.log(event, opts)
end
|