in TeamCity.MSBuild.Logger/EventFormatter.cs [69:151]
private static string FormatEventMessage(
string category,
string subcategory,
string message,
string code,
string file,
string projectFile,
int lineNumber,
int endLineNumber,
int columnNumber,
int endColumnNumber,
int threadId)
{
var sb = new StringBuilder();
if (string.IsNullOrEmpty(file))
{
sb.Append("MSBUILD : ");
}
else
{
sb.Append("{1}");
if (lineNumber == 0)
{
sb.Append(" : ");
}
else if (columnNumber == 0)
{
sb.Append(endLineNumber == 0 ? "({2}): " : "({2}-{7}): ");
}
else if (endLineNumber == 0)
{
sb.Append(endColumnNumber == 0 ? "({2},{3}): " : "({2},{3}-{8}): ");
}
else if (endColumnNumber == 0)
{
sb.Append("({2}-{7},{3}): ");
}
else
{
sb.Append("({2},{3},{7},{8}): ");
}
}
if (!string.IsNullOrEmpty(subcategory))
{
sb.Append("{9} ");
}
sb.Append("{4} ");
sb.Append(code == null ? ": " : "{5}: ");
if (message != null)
{
sb.Append("{6}");
}
if (projectFile != null && !string.Equals(projectFile, file))
{
sb.Append(" [{10}]");
}
if (message == null)
{
message = string.Empty;
}
var format = sb.ToString();
var strArray = SplitStringOnNewLines(message);
var stringBuilder2 = new StringBuilder();
for (var index = 0; index < strArray.Length; ++index)
{
stringBuilder2.Append(string.Format(CultureInfo.CurrentCulture, format, threadId,
file, lineNumber, columnNumber, category, code,
strArray[index], endLineNumber, endColumnNumber, subcategory,
projectFile));
if (index < strArray.Length - 1)
{
stringBuilder2.AppendLine();
}
}
return stringBuilder2.ToString();
}