Spring Boot に、war ファイルを取り、Tomcat 8 が埋め込まれた状態でデプロイできる Web アプリがあります。
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インスタンスごとに別のファイルにログを記録するものが必要です。これまでに見つけた解決策は、問題を解決しません。ありがとう