'Reads output until ``expected`` text is encountered.
Text up to and including the match is returned and logged. If no match
is found, this keyword fails. How much to wait for the output depends
on the [#Configuration|configured timeout].
See `Logging` section for more information about log levels. Use
`Read Until Regexp` if more complex matching is needed.'

def read_until(self, expected, loglevel=None):

    (success, output) = self._read_until(expected)
    self._log(output, loglevel)
    if (not success):
        raise NoMatchError(expected, self._timeout, output)
    return output
