我在Spring Boot中有一个Web应用程序可以获取war文件并使用嵌入式tomcat 8进行部署。 因此,对于每个上传的war文件,我都会执行以下操作
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实例登录到不同文件的东西。 到目前为止我找到的任何解决方案都无法解决我的问题。 感谢