Spring boot 1.4登录外部tomcat

Posted

技术标签:

【中文标题】Spring boot 1.4登录外部tomcat【英文标题】:Spring boot 1.4 logging on external tomcat 【发布时间】:2017-05-11 00:55:41 【问题描述】:

我在外部 tomcat 上部署 Spring Boot War 文件时遇到问题。问题是我使用默认的日志记录(只需设置 logging.file=custom.log 属性)。它在带有嵌入式 tomcat 的 STS 中运行良好;但是,在外部 tomcat 上部署时,不会创建日志文件。

更新: 我添加了一个 logback-spring.xml,它在嵌入式 tomcat 上运行良好,但在外部运行良好(它不会创建文件)

【问题讨论】:

你解决了吗? 见***.com/questions/41333281/…也许有帮助 【参考方案1】:

这是我的项目中使用的logback-spring.xml,它适用于外部Tomcat。

<configuration>
  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
  <root level="INFO">
    <appender-ref ref="FILE"/>
  </root>
</configuration>

application.yml 文件中:

logging.file: "/var/logs/tomcat/application.log"

=====已编辑:

我还会在 logback 配置中使用 springProfile 来将本地运行的配置与生产中运行的配置分开;这样我可以在开发过程中在 IDE 的控制台中获取日志:

<configuration>
  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

  <springProfile name="local">
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
  </springProfile>

  <springProfile name="prod">
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="FILE"/>
    </root>
  </springProfile>

</configuration>

【讨论】:

【参考方案2】:

您是否按照enter link description here 中描述的步骤进行操作,例如让你的 Application 类扩展 SpringBootServletInitializer?

@SpringBootApplication
public class Application extends SpringBootServletInitializer 

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        return application.sources(Application.class);
    

    public static void main(String[] args) throws Exception 
        SpringApplication.run(Application.class, args);
    


【讨论】:

以上是关于Spring boot 1.4登录外部tomcat的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot - 外部 Tomcat - JNDI 数据源

Spring Boot - 独立 Tomcat / 外部 logback 文件被忽略

Spring BootSpring Boot项目部署到外部Tomcat容器

Tomcat 中 Spring Boot War 文件的外部化配置

Spring Boot在部署到Tomcat期间无法加载外部jar

使用 JNDI 配置数据源 使用外部 Tomcat 9 服务器:Spring Boot