class Console::Logger

def self.default_log_level(env = ENV)

https://mislav.net/2011/06/ruby-verbose-mode/ has more details about how it all fits together.
You can also specify CONSOLE_LEVEL=debug or CONSOLE_LEVEL=info in environment.
Set the default log level based on `$DEBUG` and `$VERBOSE`.
def self.default_log_level(env = ENV)
	if level = env['CONSOLE_LEVEL']
		LEVELS[level.to_sym] || level.to_i
	elsif $DEBUG
		DEBUG
	elsif $VERBOSE.nil?
		WARN
	else
		INFO
	end
end

def self.default_logger(output = $stderr, env = ENV, **options)

def self.default_logger(output = $stderr, env = ENV, **options)
	if options[:verbose].nil?
		options[:verbose] = self.verbose?(env)
	end
	
	if options[:level].nil?
		options[:level] = self.default_log_level(env)
	end
	
	output = Output.new(output, env, **options)
	logger = self.new(output, **options)
	
	Resolver.default_resolver(logger)
	
	return logger
end

def self.local

def self.local
	self.default_logger
end

def self.verbose?(env = ENV)

Controls verbose output using `$VERBOSE`.
def self.verbose?(env = ENV)
	!$VERBOSE.nil? || env['CONSOLE_VERBOSE']
end

def failure(subject, exception, *arguments, &block)

Deprecated:
  • Use `fatal` instead.
def failure(subject, exception, *arguments, &block)
	self.fatal(subject, exception, *arguments, &block)
end

def initialize(output, **options)

def initialize(output, **options)
	super(output, **options)
end

def progress(subject, total, **options)

def progress(subject, total, **options)
	Progress.new(self, subject, total, **options)
end