Spring Profiles,不同的Log4j2配置

前端之家收集整理的这篇文章主要介绍了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配置文件触发

猜你在找的Spring相关文章