gdb internally maintains a number of output streams: the console, the target, and the log. The output intended for each of these streams is funneled through the gdb/mi interface using stream records.
Each stream record begins with a unique prefix character which identifies its stream (see gdb/mi Output Syntax). In addition to the prefix, each stream record contains a string-output. This is either raw text (with an implicit new line) or a quoted C string (which does not contain an implicit newline).
"~"
string-output"@"
string-output"&"
string-output