Class: Balmora::Logger

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

Class Method Summary collapse

Class Method Details

.factory(state) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/balmora/logger.rb', line 6

def self.factory(state)
  logger = self.new(STDOUT)

  logger.formatter = proc { |severity, _, _, msg|
    if severity == 'DEBUG'
      puts(Term::ANSIColor.blue() { msg })
    elsif severity == 'INFO'
      puts(Term::ANSIColor.green() { msg })
    elsif severity == 'ERROR'
      puts(Term::ANSIColor.red() { msg })
    end
  }

  if state.options[:debug] == true && state.options[:quite] == true
    raise Error.new("Options --quite and --verbose can not be set " +
      "simulataneously")
  end


  if state.options[:verbose] == true
    logger.level = ::Logger::DEBUG
  elsif state.options[:quiet] != true
    logger.level = ::Logger::INFO
  else
    logger.level = ::Logger::ERROR
  end

  return logger
end