class Morpheus::Cli::LogLevelCommand
Public Instance Methods
handle(args)
click to toggle source
# File lib/morpheus/cli/commands/log_level_command.rb, line 8 def handle(args) options = {} optparse = Morpheus::Cli::OptionParser.new do|opts| opts.banner = "Usage: morpheus #{command_name} [debug|info|0|1]" #build_common_options(opts, options, []) opts.on('-q','--quiet', "No Output, do not print to stdout") do options[:quiet] = true end opts.on('-h', '--help', "Print this help" ) do puts opts exit end opts.footer = <<-EOT This is intended for use in your morpheus scripts. It allows you to set the global logging level. The only available levels right now are debug [0] and info [1]. The default is info [1]. EOT end optparse.parse!(args) if args.count == 0 puts "#{Morpheus::Logging.log_level}" return true end if args.count > 1 puts optparse return false end debug_was_enabled = Morpheus::Logging.debug? if ["debug", "0"].include?(args[0].to_s.strip.downcase) Morpheus::Logging.set_log_level(Morpheus::Logging::Logger::DEBUG) ::RestClient.log = Morpheus::Logging.debug? ? Morpheus::Logging::DarkPrinter.instance : nil Morpheus::Logging::DarkPrinter.puts "debug enabled" unless debug_was_enabled elsif ["info", "1"].include?(args[0].to_s.strip.downcase) Morpheus::Logging.set_log_level(Morpheus::Logging::Logger::INFO) ::RestClient.log = Morpheus::Logging.debug? ? Morpheus::Logging::DarkPrinter.instance : nil elsif args[0].to_i < 6 Morpheus::Logging.set_log_level(args[0].to_i) ::RestClient.log = Morpheus::Logging.debug? ? Morpheus::Logging::DarkPrinter.instance : nil else puts optparse return false end return true end