EDIT这是我的批处理文件代码,用于运行(.bat)文件,并且我尝试将bat的输出转换为Logfile,但是我不想为我想要的每个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。 或将所有错误或消息从控制台打印到LogFile中。 甚至有可能吗?
谢谢
final Logger log = LoggerFactory.getLogger(NameOfClass.class);
答案 0 :(得分:0)
是的,这是可能的,并且是任何Logging Framework的目的。我假设您正在使用Slf4j接口。根据实现情况,请查看以下入门指南:
所有人都可以选择将日志事件写入文件: