Module: Prebake::Logger

Defined in:
lib/prebake/logger.rb

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.debug(msg) ⇒ Object



11
12
13
14
15
# File 'lib/prebake/logger.rb', line 11

def self.debug(msg)
  return unless level <= 0

  output "  [prebake] #{msg}"
end

.info(msg) ⇒ Object



17
18
19
20
21
# File 'lib/prebake/logger.rb', line 17

def self.info(msg)
  return unless level <= 1

  output "  [prebake] #{msg}"
end

.levelObject



7
8
9
# File 'lib/prebake/logger.rb', line 7

def self.level
  @level ||= LEVELS.fetch(ENV.fetch("PREBAKE_LOG_LEVEL", "silent").to_sym, 3)
end

.output(msg) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/prebake/logger.rb', line 33

def self.output(msg)
  if defined?(Bundler) && Bundler.respond_to?(:ui)
    Bundler.ui.info msg
  else
    Kernel.warn msg
  end
end

.reset!Object



29
30
31
# File 'lib/prebake/logger.rb', line 29

def self.reset!
  @level = nil
end

.warn(msg) ⇒ Object



23
24
25
26
27
# File 'lib/prebake/logger.rb', line 23

def self.warn(msg)
  return unless level <= 2

  output "  [prebake] WARN: #{msg}"
end