Class: Semlogr::LogContext

Inherits:
Object
  • Object
show all
Defined in:
lib/semlogr/log_context.rb

Class Method Summary collapse

Class Method Details

.currentObject


5
6
7
# File 'lib/semlogr/log_context.rb', line 5

def self.current
  Thread.current[:semlogr_log_context] ||= []
end

.get_property(key) ⇒ Object


17
18
19
20
21
22
23
24
# File 'lib/semlogr/log_context.rb', line 17

def self.get_property(key)
  LogContext.current
    .reverse_each do |properties|
      return properties[key] if properties.key?(key)
    end

  nil
end

.push_property(**properties) ⇒ Object


9
10
11
12
13
14
15
# File 'lib/semlogr/log_context.rb', line 9

def self.push_property(**properties)
  LogContext.current << properties

  yield if block_given?
ensure
  LogContext.current.pop
end