1

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

   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 为我的程序创建 LogFile,例如:

我想将 System.out.printl 的输出放入 LogFile。或者将控制台中的所有错误或消息打印到日志文件中。甚至可能吗?

谢谢

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

4

1 回答 1

0

是的,这是可能的,也是任何日志框架的目的。我假设您使用的是 Slf4j 接口。根据实施情况,请查看以下入门指南:

他们都可以选择将您的日志事件写入文件:

于 2018-12-06T11:01:35.530 回答