in src/main/java/org/apache/maven/plugins/invoker/InvokerSession.java [197:230]
public void logFailedBuildLog(Log logger, boolean ignoreFailures) throws MojoFailureException {
updateStats();
List<BuildJob> jobToLogs = new ArrayList<>(failedJobs);
jobToLogs.addAll(errorJobs);
for (BuildJob buildJob : jobToLogs) {
File buildLogFile = buildJob.getBuildlog() != null ? new File(buildJob.getBuildlog()) : null;
if (buildLogFile != null && buildLogFile.exists()) {
try {
// prepare message with build.log in one string to omit begin [ERROR], [WARN]
// so whole log will be displayed without decoration
StringBuilder buildLogMessage = new StringBuilder();
buildLogMessage.append(System.lineSeparator());
buildLogMessage.append(System.lineSeparator());
buildLogMessage.append("*** begin build.log for: " + buildJob.getProject() + " ***");
buildLogMessage.append(System.lineSeparator());
try (Reader buildLogReader = Files.newBufferedReader(buildLogFile.toPath())) {
buildLogMessage.append(IOUtil.toString(buildLogReader));
}
buildLogMessage.append("*** end build.log for: " + buildJob.getProject() + " ***");
buildLogMessage.append(System.lineSeparator());
logWithLevel(logger, ignoreFailures, SEPARATOR);
logWithLevel(logger, ignoreFailures, buildLogMessage.toString());
logWithLevel(logger, ignoreFailures, SEPARATOR);
logWithLevel(logger, ignoreFailures, "");
} catch (IOException e) {
throw new MojoFailureException(e.getMessage(), e);
}
}
}
}