# File lib/chef/expander/control.rb, line 174
      def log_level
        @argv.shift
        level = @argv.first
        acceptable_levels = %w{debug info warn error fatal}
        unless acceptable_levels.include?(level)
          puts "Log level must be one of #{acceptable_levels.join(', ')}"
          exit 1
        end

        h = HighLine.new
        response_mutex = Mutex.new
        
        responses = [h.color("Host", :bold), h.color("PID", :bold), h.color("GUID", :bold), h.color("Log Level", :bold)]
        AMQP.start(Expander.config.amqp_config) do
          node = Expander::Node.local_node
          node.exclusive_control_queue.subscribe do |header, message|
            reply = Yajl::Parser.parse(message)
            n = reply['node']
            response_mutex.synchronize do
              responses << n["hostname_f"] << n["pid"].to_s << n["guid"] << reply["level"]
            end
          end
          node.broadcast_message(Yajl::Encoder.encode({:action => :set_log_level, :level => level, :rsvp => node.exclusive_control_queue_name}))
          EM.add_timer(2) { AMQP.stop; EM.stop }
        end
        puts h.list(responses, :columns_across, 4)
      end