如何使用loggerfactory创建日志文件和路径

eh57zj3b  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(1194)

编辑这是我运行一个(.bat)文件的批处理文件代码,我尝试将bat的输出转换成一个日志文件,但我不想自动设置日志文件的名称,对于我要运行的每个bat,用bat文件的名称创建一个新的日志文件。希望我能解释清楚

private final static Logger LOGGER = LoggerFactory.getLogger(BatchFile.class);

    public void BatchFile(File file) throws IOException, InterruptedException {
        ProcessBuilder processBuilder = new ProcessBuilder(file.getAbsolutePath());
        processBuilder.directory(file.getParentFile());
        Process process = processBuilder.start();
        Scanner scanner = new Scanner(process.getInputStream());
        try (PrintStream out = new PrintStream(new FileOutputStream("C:\\temp\\my_log.log"))) {
            while (scanner.hasNextLine()) {
                String outputLine = scanner.nextLine();
                LOGGER.info(outputLine);
                out.print(outputLine);
            }

            scanner.close();
        }

        System.out.println(process.waitFor());
    }

}

我想知道是否有人有同样的问题。我尝试使用loggerfactory为我的程序创建日志文件,例如:
我想把system.out.printl的输出放到一个日志文件中。或者将控制台中的所有错误或消息打印到日志文件中。有可能吗?
谢谢

final Logger log = LoggerFactory.getLogger(NameOfClass.class);
2w3rbyxf

2w3rbyxf1#

是的,这是可能的,也是任何日志框架的目的。我假设您使用的是slf4j接口。根据实施情况,请查看以下入门指南:
log4j
返回日志
共享日志
它们都可以选择将日志事件写入文件:
log4j中的fileappender
logback中的fileappender
commons日志中的filehandler

相关问题