如何将catalina.out文件与嵌入式tomcat链接起来

时间:2018-06-09 11:10:50

标签: java linux spring-boot tomcat catalina

我偶然发现了这个似乎微不足道的问题,但我不知道我应该从哪个方面来解决这个问题。

我打包了一个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());

                          }
                  );
              }
          };
      }

任何帮助将不胜感激!感谢。

2 个答案:

答案 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属性。