Class: Nvoi::Utils::Logger

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

Constant Summary collapse

COLORS =
{
  reset: "\e[0m",
  red: "\e[31m",
  green: "\e[32m",
  yellow: "\e[33m",
  blue: "\e[34m",
  magenta: "\e[35m",
  cyan: "\e[36m",
  white: "\e[37m",
  bold: "\e[1m"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(output: $stdout, color: true) ⇒ Logger

Returns a new instance of Logger.



18
19
20
21
# File 'lib/nvoi/utils/logger.rb', line 18

def initialize(output: $stdout, color: true)
  @output = output
  @color = color && output.tty?
end

Instance Method Details

#blankObject



59
60
61
# File 'lib/nvoi/utils/logger.rb', line 59

def blank
  @output.puts
end

#debug(message, *args) ⇒ Object



39
40
41
42
43
# File 'lib/nvoi/utils/logger.rb', line 39

def debug(message, *args)
  return unless ENV["NVOI_DEBUG"]

  log(:magenta, "DEBUG", format_message(message, args))
end

#error(message, *args) ⇒ Object



35
36
37
# File 'lib/nvoi/utils/logger.rb', line 35

def error(message, *args)
  log(:red, "ERROR", format_message(message, args))
end

#info(message, *args) ⇒ Object



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

def info(message, *args)
  log(:blue, "INFO", format_message(message, args))
end

#ok(message, *args) ⇒ Object

OK indicator for step completion



51
52
53
# File 'lib/nvoi/utils/logger.rb', line 51

def ok(message, *args)
  log(:green, "OK", format_message(message, args))
end

#separatorObject



55
56
57
# File 'lib/nvoi/utils/logger.rb', line 55

def separator
  @output.puts colorize(:cyan, "-" * 60)
end

#step(message, *args) ⇒ Object

Step indicator for multi-step operations



46
47
48
# File 'lib/nvoi/utils/logger.rb', line 46

def step(message, *args)
  log(:cyan, "STEP", format_message(message, args))
end

#success(message, *args) ⇒ Object



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

def success(message, *args)
  log(:green, "SUCCESS", format_message(message, args))
end

#warning(message, *args) ⇒ Object



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

def warning(message, *args)
  log(:yellow, "WARNING", format_message(message, args))
end