Module: R10K::Logging

Constant Summary collapse

LOG_LEVELS =
%w{DEBUG2 DEBUG1 DEBUG INFO NOTICE WARN ERROR FATAL}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.formatterObject



61
62
63
# File 'lib/r10k/logging.rb', line 61

def formatter
  @formatter ||= Log4r::PatternFormatter.new(:pattern => '[%C - %l] %m')
end

.included(klass) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/r10k/logging.rb', line 42

def included(klass)
  unless @log4r_loaded
    Configurator.custom_levels(*LOG_LEVELS)
    Logger.global.level = Log4r::ALL
    @log4r_loaded = true
  end
end

.levelObject



50
51
52
# File 'lib/r10k/logging.rb', line 50

def level
  @level || Log4r::WARN # Default level is WARN
end

.level=(val) ⇒ Object



54
55
56
57
58
59
# File 'lib/r10k/logging.rb', line 54

def level=(val)
  level = parse_level val
  raise "Invalid log level: #{val}" unless level
  outputter.level = level
  @level = level
end

.levelsObject



27
28
29
30
31
32
# File 'lib/r10k/logging.rb', line 27

def levels
  @levels ||= LOG_LEVELS.each.inject({}) do |levels, k|
    levels[k] = Log4r.const_get(k)
    levels
  end
end

.outputterObject



65
66
67
68
69
70
# File 'lib/r10k/logging.rb', line 65

def outputter
  @outputter ||= Log4r::StderrOutputter.new('console',
    :level => self.level,
    :formatter => formatter
   )
end

.parse_level(val) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/r10k/logging.rb', line 34

def parse_level(val)
  begin
    Integer(val)
  rescue
    levels[val.upcase]
  end
end

Instance Method Details

#loggerObject



16
17
18
19
20
21
22
# File 'lib/r10k/logging.rb', line 16

def logger
  unless @logger
    @logger = Log4r::Logger.new(self.logger_name)
    @logger.add R10K::Logging.outputter
  end
  @logger
end

#logger_nameObject



12
13
14
# File 'lib/r10k/logging.rb', line 12

def logger_name
  self.class.to_s
end