【发布时间】:2020-01-07 18:05:51
【问题描述】:
我正在尝试在带有 Gradle 的 Spring Boot 应用程序中使用 log4j2。我有 4 个不同的个人资料:it, dev, mac, was。相应地,我有 4 个不同的 log4j2 配置文件:log4j2-it.xml, log4j2-dev.xml, log4j2-mac.xml, log4j2-was.xml。根据所选配置文件,我想选择正确的 log4j2 配置文件,以便对其进行相应配置。
首先,为了让 log4j2 正常工作,我排除了
spring-boot-starter-logging 并包含在内
spring-boot-starter-log4j2。在这样做之前,log4j2 根本不起作用。
我已经查看了this post,但我无法得到公认的答案。根据this post,设置
logging.config 属性不起作用。此外,我的项目没有启动脚本,因此我无法使用 -D 标志传递参数。
我已经能够通过添加一个
log4j2.component.properties 文件并指定要在其中使用的配置文件 (see here),但是我还没有找到一种方法来使这个配置文件依赖。
此外,如果我有一个名为 log4j2.xml 的文件,则会按预期发现并加载该文件。
在进行了大量搜索之后,我看到了许多 logback 的解决方案,并尝试了他们是否可以使用 log4j2,但不出所料,这些都没有成功。
我有办法做到这一点吗?例如,在运行测试时,选择了it 配置文件,并且应该使用log4j2-it.xml 文件来配置日志记录。也许我错过了一些东西,因为我希望配置文件特定的 log4j2 配置应该是可能的,但到目前为止我还没有找到任何可行的方法。
【问题讨论】:
标签: spring spring-boot log4j2