private FileLogger setupBuildLogFile()

in src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java [2000:2031]


    private FileLogger setupBuildLogFile(File basedir) throws MojoExecutionException {
        FileLogger logger = null;

        if (!noLog) {
            Path projectLogDirectory;
            if (logDirectory == null) {
                projectLogDirectory = basedir.toPath();
            } else if (cloneProjectsTo != null) {
                projectLogDirectory =
                        logDirectory.toPath().resolve(cloneProjectsTo.toPath().relativize(basedir.toPath()));
            } else {
                projectLogDirectory =
                        logDirectory.toPath().resolve(projectsDirectory.toPath().relativize(basedir.toPath()));
            }

            try {
                if (streamLogs) {
                    logger = new FileLogger(
                            projectLogDirectory.resolve("build.log").toFile(), getLog());
                } else {
                    logger = new FileLogger(
                            projectLogDirectory.resolve("build.log").toFile());
                }

                getLog().debug("Build log initialized in: " + projectLogDirectory);
            } catch (IOException e) {
                throw new MojoExecutionException("Error initializing build logfile in: " + projectLogDirectory, e);
            }
        }

        return logger;
    }