class Console::Logger

Constants

DEFAULT_LEVEL

Public Class Methods

default_log_level(env = ENV) click to toggle source

Set the default log level based on `$DEBUG` and `$VERBOSE`. You can also specify CONSOLE_LEVEL=debug or CONSOLE_LEVEL=info in environment. mislav.net/2011/06/ruby-verbose-mode/ has more details about how it all fits together.

# File lib/console/logger.rb, line 39
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
default_logger(output = $stderr, env = ENV, **options) click to toggle source
# File lib/console/logger.rb, line 56
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
local() click to toggle source
# File lib/console/logger.rb, line 73
def self.local
        self.default_logger
end
new(output, **options) click to toggle source
Calls superclass method
# File lib/console/logger.rb, line 79
def initialize(output, **options)
        super(output, **options)
end
verbose?(env = ENV) click to toggle source

Controls verbose output using `$VERBOSE`.

# File lib/console/logger.rb, line 52
def self.verbose?(env = ENV)
        !$VERBOSE.nil? || env['CONSOLE_VERBOSE']
end

Public Instance Methods

failure(subject, exception, *arguments, &block) click to toggle source
# File lib/console/logger.rb, line 97
def failure(subject, exception, *arguments, &block)
        fatal(subject, *arguments, Event::Failure.new(exception), &block)
end
measure(subject, name = "block", **tags, &block) click to toggle source
# File lib/console/logger.rb, line 87
def measure(subject, name = "block", **tags, &block)
        measure = Measure.new(self, subject, **tags)
        
        if block_given?
                return measure.duration(name, &block)
        else
                return measure
        end
end
progress(subject, total, **options) click to toggle source
# File lib/console/logger.rb, line 83
def progress(subject, total, **options)
        Progress.new(self, subject, total, **options)
end