【发布时间】:2015-06-08 08:38:00
【问题描述】:
我正在使用 logback 库在 Spring Boot 项目中实现日志记录。我想根据我的弹簧配置文件(属性'spring.pofiles.active')加载不同的日志记录配置文件。我有 3 个文件:logback-dev.xml、logback-inte.xml 和 logback-prod.xml。我正在使用 Spring Boot 版本 1.2.2.RELEASE。
正如您在spring boot documentation 中看到的那样:
可以通过在类路径中包含适当的库来激活各种日志系统,并通过在类路径的根目录中或在 Spring Environment 属性 日志记录指定的位置提供合适的配置文件来进一步定制。配置。 (但请注意,由于在创建 ApplicationContext 之前已初始化日志记录,因此无法从 Spring @Configuration 文件中的 @PropertySources 控制日志记录。系统属性和传统的 Spring Boot 外部配置文件都可以正常工作。)
所以我尝试在 application.properties 文件中设置“logging.config”属性:
logging.config=classpath:/logback-${spring.profiles.active}.xml
但是当我启动我的应用程序时,我的 logback-{profile}.xml 没有加载...
我认为日志记录是所有使用spring boot的项目都遇到的常见问题。我在上述方法的正确轨道上吗?我还有其他可行的解决方案,但我发现它们没有那么优雅(在 logback.xml 文件或命令行属性中使用 Janino 进行条件解析)。
【问题讨论】:
-
当您同时拥有多个活动个人资料时,您是否找到了一个优雅的解决方案?
-
检查我在 2016 年 3 月 3 日的编辑
-
找到你的答案 - stackoverflow.com/a/54477155/5756557
标签: java spring spring-boot logging logback