微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Profiles,不同的Log4j2配置

在我的application.yml中,我得到了:

logging: 
  config: classpath:log4j2.debug.yml

以及其他一些不同的配置文件.当我启动应用程序时,我得到以下内容

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

如果我只是将log4j2.xml放在配置文件的旁边,那就可以了.所以我认为这是一个我错过了依赖性的东西,或者用log4j2是不可能的?

参考:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-configuration说应该可以像我一样尝试?

最佳答案
在我这边,我使用属性文件而不是yaml文件.我想要两个日志文件一个将所有内容记录到控制台,另一个记录文件.所以我制作了两个log4j2配置文件:log4j2-dev.xml和log4j2-file.xml.

我使用两个Spring配置文件配置文件一个名为“dev”的配置文件.要切换log4j2配置文件,我创建了一个包含以下内容文件application.properties:

spring.profiles.active=
logging.config=classpath:log4j2-file.xml

我有一个属性文件application-dev.properties,它在Spring检测到“dev”配置文件自动激活.它包含:

logging.config=classpath:log4j2-dev.xml

当我想使用log4j2-dev.xml配置时,我只需在application.properties中添加“dev”作为“spring.profiles.active =”的值.

你可以在这页面上看看Feiyu Zhou的答案.他使用Yaml配置文件提供解决方案:How to define log4j2 path by application.properties?

当然,您可以随时删除application.properties的属性logging.config,并在log4j2.xml中重命名log4j2-file.xml.它将认由Log4j2加载,而不需要由Spring配置文件触发

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐