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