1

我在 Spring Boot 中有一个 Web 应用程序,它可以获取一个战争文件并使用嵌入式 tomcat 8 部署它。因此,对于每个上传的战争文件,我执行以下操作

Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
File catalinaHome = new File(TOMCAT_DIR + port);
catalinaHome.mkdirs();
File webapp = new File(TOMCAT_DIR + port + "\\webapps");
webapp.mkdir();
tomcat.setBaseDir(catalinaHome.getAbsolutePath());

try {
    File war = new File("myapp.war");
    StandardContext context = (StandardContext) tomcat.addWebapp("/myapp", war.getAbsolutePath());
    context.setAntiResourceLocking(true);
    tomcat.start();
} catch (Exception e) {
    e.printStackTrace();
}

我不知道如何重定向输出。我将那个 tomcat 嵌入式日志读到System.out,并且我能够重定向到文件:

PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setOut(out);

但重定向所有输出,我想要为我运行的每个 tomcat 实例记录到不同文件的内容。到目前为止我发现的任何解决方案都不能解决我的问题。谢谢

4

0 回答 0