in fxcop-agent/src/jetbrains/buildServer/fxcop/agent/FxCopFileProcessor.java [262:311]
private void handleExceptionTag() {
if (myCurrentPass != PassType.ISSUES) {
return;
}
final String keyword = myStream.getAttribute("Keyword");
final String kind = myStream.getAttribute("Kind");
final String treatAsWarning = myStream.getAttribute("TreatAsWarning");
String type = null, message = null, stacktrace = null;
while (myStream.hasMoreChildren()) {
myStream.moveDown();
if (myStream.getNodeName().equals("Type")) {
type = reformatInOneLine(myStream.getValue());
}
if (myStream.getNodeName().equals("ExceptionMessage")) {
message = reformatInOneLine(myStream.getValue());
}
if (myStream.getNodeName().equals("StackTrace")) {
stacktrace = myStream.getValue();
}
myStream.moveUp();
}
final boolean warningMessage = treatAsWarning != null && treatAsWarning.equals("True");
final StringBuilder descr = new StringBuilder("FxCop " + (warningMessage ? "warning" : "error") + ":");
if (keyword != null) {
descr.append(" Keyword=").append(keyword);
}
if (kind != null) {
descr.append(" Kind=").append(kind);
}
if (type != null) {
descr.append(" Type=").append(type);
}
if (message != null) {
descr.append(" ").append(message);
}
if (stacktrace != null) {
final String lineSeparator = System.getProperty("line.separator");
descr.append(lineSeparator).append(stacktrace);
}
myLogger.warning(descr.toString());
}