module PXCBackup::Logger
Public Class Methods
action(message) { || ... }
click to toggle source
# File lib/pxcbackup/logger.rb, line 64 def self.action(message) return yield unless @verbosity_level >= 1 action_start(message) t1 = Time.now begin result = yield rescue => e action_end(red('fail')) raise e end t2 = Time.now action_end(green('done') + ' (%.1fs)' % (t2 - t1)) result end
action_end(message)
click to toggle source
# File lib/pxcbackup/logger.rb, line 41 def self.action_end(message) return unless @verbosity_level >= 1 if @partial puts message @partial = false else output message decrease_indentation end end
action_start(message)
click to toggle source
# File lib/pxcbackup/logger.rb, line 35 def self.action_start(message) return unless @verbosity_level >= 1 output "#{message}: ", true @partial = true end
blue(text)
click to toggle source
# File lib/pxcbackup/logger.rb, line 96 def self.blue(text) colorize(text, 34); end
color_output=(value)
click to toggle source
# File lib/pxcbackup/logger.rb, line 20 def self.color_output=(value) @color_output = value end
colorize(text, color_code)
click to toggle source
# File lib/pxcbackup/logger.rb, line 80 def self.colorize(text, color_code) @color_output ? "\e[#{color_code}m#{text}\e[0m" : text end
debug(message)
click to toggle source
# File lib/pxcbackup/logger.rb, line 60 def self.debug(message) output blue(message) if @verbosity_level >= 2 end
decrease_indentation()
click to toggle source
# File lib/pxcbackup/logger.rb, line 16 def self.decrease_indentation @indentation -= 1 end
green(text)
click to toggle source
# File lib/pxcbackup/logger.rb, line 88 def self.green(text) colorize(text, 32) end
increase_indentation()
click to toggle source
# File lib/pxcbackup/logger.rb, line 12 def self.increase_indentation @indentation += 1 end
info(message)
click to toggle source
# File lib/pxcbackup/logger.rb, line 52 def self.info(message) output message if @verbosity_level >= 1 end
output(message, skip_newline = false)
click to toggle source
# File lib/pxcbackup/logger.rb, line 24 def self.output(message, skip_newline = false) if @partial puts increase_indentation @partial = false end print ' ' * @indentation + message puts unless skip_newline $stdout.flush end
raise_verbosity()
click to toggle source
# File lib/pxcbackup/logger.rb, line 8 def self.raise_verbosity @verbosity_level += 1 end
red(text)
click to toggle source
# File lib/pxcbackup/logger.rb, line 84 def self.red(text) colorize(text, 31); end
warning(message)
click to toggle source
# File lib/pxcbackup/logger.rb, line 56 def self.warning(message) output yellow(message) if @verbosity_level >= 1 end
yellow(text)
click to toggle source
# File lib/pxcbackup/logger.rb, line 92 def self.yellow(text) colorize(text, 33); end