Implement verbose mode
This commit is contained in:
@@ -48,6 +48,11 @@ module Uh
|
||||
@env.print opts
|
||||
exit
|
||||
end
|
||||
|
||||
opts.on '-v', '--version', 'enable verbose mode' do
|
||||
@env.verbose = true
|
||||
@env.log_logger_level
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1,26 +1,33 @@
|
||||
module Uh
|
||||
module WM
|
||||
class Env
|
||||
LOGGER_LEVEL = Logger::WARN
|
||||
LOGGER_LEVEL_VERBOSE = Logger::INFO
|
||||
LOGGER_LEVEL_STRINGS = %w[DEBUG INFO WARN ERROR FATAL UNKNOWN]
|
||||
|
||||
extend Forwardable
|
||||
def_delegator :@logger, :info, :log
|
||||
def_delegator :logger, :info, :log
|
||||
def_delegator :@output, :print
|
||||
|
||||
attr_reader :output, :logger
|
||||
attr_reader :output
|
||||
attr_accessor :verbose
|
||||
|
||||
def initialize output, logger: Logger.new(output)
|
||||
def initialize output
|
||||
@output = output
|
||||
@logger = logger
|
||||
end
|
||||
|
||||
def verbose?
|
||||
!!@verbose
|
||||
end
|
||||
|
||||
def logger
|
||||
@logger ||= Logger.new(@output).tap do |o|
|
||||
o.level = verbose? ? LOGGER_LEVEL_VERBOSE : LOGGER_LEVEL
|
||||
end
|
||||
end
|
||||
|
||||
def log_logger_level
|
||||
log "Logging at #{LOGGER_LEVEL_STRINGS[@logger.level]} level"
|
||||
log "Logging at #{LOGGER_LEVEL_STRINGS[logger.level]} level"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user