Class: Whoosh::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/whoosh/logger.rb

Defined Under Namespace

Classes: ScopedLogger

Constant Summary collapse

LEVELS =
{ debug: 0, info: 1, warn: 2, error: 3 }.freeze

Instance Method Summary collapse

Constructor Details

#initialize(output: $stdout, format: :json, level: :info) ⇒ Logger

Returns a new instance of Logger.



9
10
11
12
13
# File 'lib/whoosh/logger.rb', line 9

def initialize(output: $stdout, format: :json, level: :info)
  @output = output
  @format = format
  @level = LEVELS[level.to_sym] || 1
end

Instance Method Details

#debug(event, **data) ⇒ Object



15
16
17
# File 'lib/whoosh/logger.rb', line 15

def debug(event, **data)
  log(:debug, event, **data)
end

#error(event, **data) ⇒ Object



27
28
29
# File 'lib/whoosh/logger.rb', line 27

def error(event, **data)
  log(:error, event, **data)
end

#info(event, **data) ⇒ Object



19
20
21
# File 'lib/whoosh/logger.rb', line 19

def info(event, **data)
  log(:info, event, **data)
end

#warn(event, **data) ⇒ Object



23
24
25
# File 'lib/whoosh/logger.rb', line 23

def warn(event, **data)
  log(:warn, event, **data)
end

#with_context(**context) ⇒ Object



31
32
33
# File 'lib/whoosh/logger.rb', line 31

def with_context(**context)
  ScopedLogger.new(self, **context)
end