部署到tomcat时如何设置logback.xml的位置?

Posted

技术标签:

【中文标题】部署到tomcat时如何设置logback.xml的位置?【英文标题】:How to set the location of logback.xml when deploying into tomcat? 【发布时间】:2019-10-04 13:33:50 【问题描述】:

在我的 Spring Boot 应用程序中,我在 application.properties 中指定:

logging.config=classpath:logback-LOCAL.xml

此文件位于src/main/resources 下,我将其配置为我的 maven pom.xml 中的源文件夹:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
    ...
</build>

这在独立运行应用程序时工作正常。但是在构建.war-File 并将其部署到tomcat 时,会忽略logback 配置。

使用logback.xml 作为文件名(或logback-spring.xml)可以正常工作,但我想使用logback-LOCAL.xml(用于分隔不同环境的日志配置)。

如何在我的application.properties 中指定我的logback.xml 文件的位置,以便它在我的tomcat 部署的Web 应用程序中生效?

【问题讨论】:

This 我认为可以为你工作。 @LuisMuñoz &lt;springProfile&gt; 可以,但我想使用完全独立的文件。这可能吗? 【参考方案1】:

为什么你使用的文件名不是 logback 定义的?使用这些 logback-spring.xmllogback.xmllogback-spring.groovylogback.groovy 之一> 文件名 spring 将从类路径加载它。如果您使用其他文件名,则可以将属性logging.filelogging.config 结合使用。希望这能解决您的问题。

【讨论】:

设置logging.config=classpath:logback-LOCAL.xml logging.file=logback-LOCAL.xml 仍然不起作用。我想在每个环境中使用不同的文件并通过配置文件切换它们。我知道&lt;springProfile&gt; 标签,但我更喜欢单独的文件。

以上是关于部署到tomcat时如何设置logback.xml的位置?的主要内容,如果未能解决你的问题,请参考以下文章

将 logback.xml 放在 Tomcat 的啥位置?

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

如何在logback.xml中自定义动态属性

intellij idea spring的错误日志在tomcat localhost log里面去了,日志用的logback;

tomcat日志及logback相关日志框架

小技巧:如何自定义logback日志文件的名称