我偶然发现了这个似乎微不足道的问题,但我不知道我应该从哪个方面来解决这个问题。
我打包了一个jar弹簧启动应用程序并将其放在我的CentOs服务器上,并将其作为带有启动脚本的Systemd服务启动。问题是这样的:我如何告诉嵌入式tomcat指向我在某处创建的特定catalina.out文件并在那里写日志。我一直在想两个方向。一个是以编程方式告诉嵌入式tomcat catalina.out来自我的代码,其中我实例化连接器等,第二个是告诉systemal脚本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());
}
);
}
};
}
任何帮助将不胜感激!感谢。
答案 0 :(得分:1)
只需在logging.file=/location/of/catalina.out
中设置application.properties
即可。您可以参考Spring Boot日志记录文档以获取更多信息:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html
答案 1 :(得分:0)
如Tomcat Logging documentation中所述,您可以将conf/logging.properties
文件配置为记录在任何位置。在您的情况下,请查看1catalina.org.apache.juli.FileHandler.directory
属性。