def logger
      return @logger if @logger

      output = nil
      loglevel = Logger::ERROR

      # Figure out where the output should go to.
      if ENV["VEEWEE_LOG"]
        output = STDOUT
        loglevel = Logger.const_get(ENV["VEEWEE_LOG"].upcase)
      end

        # Create the logger and custom formatter
      @logger = ::Logger.new(output)
      @logger.level = loglevel
      @logger.formatter = Proc.new do |severity, datetime, progname, msg|
        "#{datetime} - #{progname} - [#{resource}] #{msg}\n"
      end
      @logger
    end
def logger
      return @logger if @logger

      output = nil
      loglevel = Logger::ERROR

      # Figure out where the output should go to.
      if ENV["VEEWEE_LOG"]
        output = STDOUT
        loglevel = Logger.const_get(ENV["VEEWEE_LOG"].upcase)
      end

        # Create the logger and custom formatter
      @logger = ::Logger.new(output)
      @logger.level = loglevel
      @logger.formatter = Proc.new do |severity, datetime, progname, msg|
        "#{datetime} - #{progname} - [#{resource}] #{msg}\n"
      end
      @logger
    end
Accesses the logger for Veewee. This logger is a _detailed_
 logger which should be used to log internals only. For outward
 facing information, use {#ui}.

 @return [Logger]