使用Spring的与配置文件相关的log4j2配置

指关节:

我正在尝试在带有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根本不起作用。

我已经看过这篇文章,但无法获得可接受的答案。根据这篇文章,设置logging.config属性将不起作用。此外,我的项目没有启动脚本,因此无法将参数与-D标志一起传递

我已经能够通过添加一个log4j2.component.properties文件并指定要在其中使用的配置文件来选择其中一个配置文件请参阅此处),但是我还没有找到一种使该配置文件相关的方法。

另外,如果我有一个名为just的文件log4j2.xml,则会按预期发现并加载该文件

经过大量搜索之后,我看到了许多用于logback的解决方案,并尝试了一下它们是否适用于log4j2,但是毫无疑问,这些解决方案都没有成功。

我有办法做到这一点吗?例如,在运行测试时,it将选择配置文件,并且该log4j2-it.xml文件应用于配置日志记录。也许我错过了一些事情,因为我希望配置文件特定的log4j2配置应该可行,但是到目前为止,我还没有发现任何可行的方法。

指关节:

我最终添加了@Component一个@PostConstruct方法,其中我确实

LoggerContext context = (LoggerContext)LogManager.getContext(false);
context.setConfigLocation(URI.create("path to file"));
context.reconfigure();

感谢alan7678 在这里的回答

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring配置文件,不同的Log4j2配置

找不到log4j2配置文件

log4j2找不到配置文件

找不到log4j2配置文件

Spring Boot不搜索log4j2配置文件

Spring Config Server查找中的log4j2配置文件不起作用

使用可执行JAR时指定Log4j2配置文件

Log4j2无法使用json配置文件

使用log4j2的Spring Boot。配置log4j2 Spring查找

在 log4j2 中访问 spring 配置文件以获取 spring boot 应用程序

为什么我不能在log4j2-spring.xml中使用springProfile标记来使用不同的spring配置文件配置log4j2?

使用控制台和滚动文件附加程序的非常简单的log4j2属性配置文件

使用控制台和文件附加器的非常简单的log4j2 XML配置文件

如何在使用Eclipse创建的可运行jar中指定外部log4j2配置文件

使用单个log4j2 xml文件配置log4j2和log4j

Maven-错误StatusLogger找不到log4j2配置文件

以编程方式加载Log4j2配置文件

Java 9找不到log4j2配置文件

Log4j2找不到我的配置文件

自定义ConfigurationFactory结合log4j2中的配置文件

YAML中用于log4j2的示例默认配置文件是什么?

多久需要设置一次log4j2的配置文件?

LOG4J2:以编程方式配置时,禁用“找不到log4j2配置文件..”打印

将 log4j2 配置文件配置为仅将错误记录到文件中

找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台

Spring Boot中的Log4j2问题与配置

Log4j2:如何在控制台日志中查找是否已找到日志配置文件

春季日志记录忽略作为jvm参数传递的log4j2配置文件

错误StatusLogger找不到log4j2配置文件。在更新Struts的2.5.12版本时