我偶然发现了这个看似微不足道的问题,但我不知道应该从哪一方面来处理它。
我打包了一个 jar spring boot 应用程序并将其放在我的 CentOs 服务器上,并使用启动脚本将其作为 Systemd 服务启动。问题是这样的:我如何告诉嵌入式 tomcat 指向我在某处创建的他特定的 catalina.out 文件并在那里写入日志。我一直在思考两个方向。一种是以编程方式告诉嵌入式 tomcat catalina.out 来 self 实例化连接器等的代码,第二种是告诉 systemd 脚本 catalina.out 所在的位置。但是我在网上找不到关于这个问题的任何信息。
编辑 我的嵌入式tomcat当前配置
@Bean
EmbeddedServletContainerCustomizer containerCustomizer() throws Exception {
System.out.println("TOMCAT CALLED");
return (ConfigurableEmbeddedServletContainer container) -> {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
tomcat.addConnectorCustomizers(
(connector) -> {
connector.setPort(9595);
connector.setRedirectPort(9444);
connector.setAttribute("address", "127.0.0.1");
//connector.setPr
Http11NioProtocol proto = (Http11NioProtocol) connector.getProtocolHandler();
proto.setConnectionTimeout(20000);
System.out.println("apr available: "+AprLifecycleListener.isAprAvailable());
}
);
}
};
}
任何帮助将不胜感激!谢谢。
最佳答案
只需在 application.properties
中设置 logging.file=/location/of/catalina.out
。您可以引用 Spring Boot 日志文档了解更多信息:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html
关于java - 如何将 catalina.out 文件与嵌入式 tomcat 链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50773624/