code: def set_log(stream = Pancake.configuration.log_stream,
        log_level  = Pancake.configuration.log_level,
        delimiter  = Pancake.configuration.log_delimiter,
        auto_flush = Pancake.configuration.log_auto_flush)
  
        @buffer                   = []
        @delimiter                = delimiter
        @auto_flush               = auto_flush
  
        if Levels[log_level]
          @level                  = Levels[log_level]
        else
          @level                  = log_level
        end
  
        @log                      = stream
        @log.sync                 = true
        @mutex = (@@mutex[@log] ||= Mutex.new)
      end
docs: To initialize the logger you create a new object, proxies to set_log.
  
   ==== Parameters
   *args:: Arguments to create the log from. See set_logs for specifics.
   Replaces an existing logger with a new one.
  
   ==== Parameters
   log<IO, String>:: Either an IO object or a name of a logfile.
   log_level<~to_sym>::
     The log level from, e.g. :fatal or :info. Defaults to :error in the
     production environment and :debug otherwise.
   delimiter<String>::
     Delimiter to use between message sections. Defaults to " ~ ".
   auto_flush<Boolean>::
     Whether the log should automatically flush after new messages are
     added. Defaults to false.