【发布时间】:2016-06-12 17:50:03
【问题描述】:
我有几个 Spring Boot 应用程序实例部署在一个独特的 Tomcat 中。 每个应用程序都配置了一个包含客户代码的 context.xml 文件
<Context path="/myApp1" reloadable="false">
<Parameter name="CUSTOMER_CODE" value="CUSTOMER1" />
</Context>
我希望每个客户都有一个基于 context.xml 中定义的代码的单独日志。
不幸的是,这个配置在我的 logback-config.xml 中不起作用:
<property name="LOG_FILE" value="${ROOT_LOG}/${CUSTOMER_CODE}/myApp.log}"/>
在“ROOT_LOG”目录中创建了一个文件夹 CUSTOMER_CODE_IS_UNDEFINED。 “ROOT_LOG”由系统属性提供。
有没有办法让这个 logback 配置工作?
application.properties 中定义的属性的使用效果很好(我将 logback.xml 重命名为 logback-spring.xml)。在我看来,Spring boot 在初始化日志记录之前没有在 Environnement 中设置 Tomcat 上下文参数。任何解决方法的想法?谢谢。
【问题讨论】:
-
我认为自定义 logback 配置 (logback-spring.xml) 将满足您的需求:docs.spring.io/spring-boot/docs/current/reference/html/… - 主要是您可能只需要重命名配置文件。
-
感谢您的回答。我尝试使用 logback-spring.xml 但它没有用。我更新了帖子以添加更多信息。
标签: spring-boot logback tomcat8