Java 如何将catalina.out文件与嵌入式tomcat链接
我无意中发现了这个看似琐碎的问题,但我不知道应该从哪一方着手 我已经打包了一个jar spring启动应用程序,并将其放在我的CentOs服务器上,并使用启动脚本将其作为Systemd服务启动。问题是:我如何告诉嵌入式tomcat指向我在某处创建的特定catalina.out文件并在那里写日志。我一直在两个方向思考。一个是通过编程告诉嵌入式tomcat catalina.out在我的代码中的什么位置,我实例化了连接器等等,第二个是告诉systemd脚本catalina.out在哪里。但是我在网上找不到关于这个问题的任何信息 编辑 我的嵌入式tomcat当前配置Java 如何将catalina.out文件与嵌入式tomcat链接,java,linux,spring-boot,tomcat,catalina,Java,Linux,Spring Boot,Tomcat,Catalina,我无意中发现了这个看似琐碎的问题,但我不知道应该从哪一方着手 我已经打包了一个jar spring启动应用程序,并将其放在我的CentOs服务器上,并使用启动脚本将其作为Systemd服务启动。问题是:我如何告诉嵌入式tomcat指向我在某处创建的特定catalina.out文件并在那里写日志。我一直在两个方向思考。一个是通过编程告诉嵌入式tomcat catalina.out在我的代码中的什么位置,我实例化了连接器等等,第二个是告诉systemd脚本catalina.out在哪里。但是我在网上
@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());
}
);
}
};
}
任何帮助都将不胜感激!谢谢。如中所述,您可以将
conf/logging.properties
文件配置为在任何需要的地方进行日志记录。在您的例子中,请查看1catalina.org.apache.juli.FileHandler.directory
属性。只需在应用程序.properties中设置logging.file=/location/of/catalina.out
。您可以参考Spring Boot日志文档了解更多信息:这不适用,因为这是一个JAR打包的Spring Boot应用程序,所以它运行的是嵌入式Tomcat。感谢Eugene的回复,正如Strelok所说,它不适用,因为它是一个嵌入式Tomcat。我确信有一个解决方案,检查我编辑的关于如何完美设置tomcatWorks的问题!胡子格雷西亚斯:)