def login(self, username=None, password=None, login_url=None,
              auth_url=None):
        """
        This will automatically log the user into the pre-defined account
        
        Feel free to overwrite this with an endpoint on endpoint load
        
        :param username:  str of the user name to login in as
        :param password:  str of the password to login as
        :param login_url: str of the url for the server's login
        :param auth_url:  str of the url for the server's authorization login
        :return: str of self._status
        """
        self._username = username or self._username
        self._password = password or self._password
        self.login_url = login_url or self.login_url
        self.auth_url = auth_url or self.auth_url
        if self._username and self._password and self.login_url:
            if '%(username)s' in self.login_url:
                ret = self.post(_url=login_url % dict(
                    username=self._username,
                    password=self._password,
                    api_key=self._api_key))
            else:
                ret = self.post(_url=self.login_url, username=self._username,
                                password=self._password, api_key=self._api_key)

            if isinstance(ret, basestring) and 'Burp' in ret:
                raise Exception("Failed to Login because the "
                                "server is not responding")

            self.user_id = ret.get('user_id', None)
            if self.auth_url:
                if ('%(' + ret.keys()[0] + ')s') in self.auth_url:
                    ret = self.post(_url=self.auth_url % ret)
                else:
                    ret = self.post(_url=self.auth_url, **ret)

            log.info('Successfully logged in with response: %s' % ret)
            if self._login_clears_history:
                self.clear()
            self._status = STATUS_LOGIN_SUCCESS
        else:
            self._status = STATUS_LOGIN_FAIL
        return self._status