string formatLogMessage(string logLevel, string message)
{
string[] lines = message.Split('\n');
string commandType = lines.Length == 1 ? "showMessage" : "showFoldMessage";
bool isMultiLine = lines.Length > 1;
return string.Format("!SOS<{0} key=\"{1}\">{2}</{0}>",
commandType,
logLevel,
isMultiLine ? multilineMessage(lines[0], message) : replaceXmlSymbols(message));
}