public void logFailedBuildLog()

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);
                }
            }
        }
    }