module CommandLineBoss::LoggerOptions

def debug_logger

Other tags:
    Api: - private

Returns:
  • (Logger) -
def debug_logger
  Logger.new($stdout, level: 'debug', formatter: ->(_severity, _datetime, _progname, msg) { "#{msg}\n" })
end

def define_debug_option

Other tags:
    Api: - private

Returns:
  • (void) -
def define_debug_option
  parser.on('-D', '--debug', 'Enable debug mode default is off') do |debug|
    @debug = debug
  end
end

def define_verbose_option

Other tags:
    Api: - private

Returns:
  • (void) -
def define_verbose_option
  parser.on('-v', '--verbose', 'Enable verbose mode (default is off)') do |verbose|
    @verbose = verbose
  end
end

def logger

Returns:
  • (Logger) -
def logger
  @logger ||=
    if verbose
      verbose_logger
    elsif debug
      debug_logger
    else
      Logger.new(nil, level: Logger::UNKNOWN + 1)
    end
end

def validate_debug_verbose_option

Other tags:
    Api: - private

Returns:
  • (void) -
def validate_debug_verbose_option
  add_error_message('Can not give both --debug and --verbose') if debug && verbose
end

def verbose_logger

Other tags:
    Api: - private

Returns:
  • (Logger) -
def verbose_logger
  Logger.new($stdout, level: 'info', formatter: ->(_severity, _datetime, _progname, msg) { "#{msg}\n" })
end