class Syllabus::Logger
Public Class Methods
new(args)
click to toggle source
# File lib/syllabus/logger.rb, line 7 def initialize(args) @level = args[:level] || 'info' @logger = ::Logger.new(args[:io] || STDOUT) @logger.level = log_level_for(@level) end
Public Instance Methods
log(command, result)
click to toggle source
# File lib/syllabus/logger.rb, line 17 def log(command, result) message = '' if result[:exit_status] == 0 message << green(command.to_s) else message << "\n#{red(command.to_s)}" message << "\n stdout: #{result[:stdout]}" if result[:stdout] message << "\n stderr: #{result[:stderr]}" if result[:stderr] end @logger.send(@level.to_sym, message) end
log_level_for(level)
click to toggle source
# File lib/syllabus/logger.rb, line 13 def log_level_for(level) Logger.const_get(level.upcase.to_sym) end