如何使用外部属性文件在Springboot中使用log4j2?

Hitesh:

我不想log4j2.properties在春季引导中使用文件。我想使用外部属性文件,但显示错误。

Exception in thread "main" java.lang.AbstractMethodError: org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSource;)Lorg/apache/logging/log4j/core/config/Configuration;
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:510)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:450)
at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:257)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:560)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:577)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:212)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537)
at com.flight.testcode.App.<clinit>(App.java:11)

Pom文件依赖性

<dependencies>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
   <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.6.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.6.1</version>
    </dependency>

那么我该如何使用外部属性文件。

它还不支持log4j2 2.11.1版吗?

Hitesh:

最后,我找到了log42外部文件加载的解决方案。

import org.apache.logging.log4j.core.config.Configurator;

static {
   Configurator.initialize(null, "<filename>.properties");
}

如果不使用Configurator.initialize()method,则log4j2使用其默认配置。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在weblogic中使用springboot加载外部属性文件

在Log4J2 YAML中使用属性

在Weblogic中使用外部属性文件

如何使用属性文件在log4j2中创建多个日志文件?

Log4j2:如何在 log4j2.properties 文件中使用替换参数

如何在不同的日志文件中使用log4j2?

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

在静态方法中使用Log4j2

无法在quarkus中使用log4j2

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

使用一个属性文件中的属性到log4j2属性文件中

无法使用log4j2创建日志文件

如何在ActiveMQ中使用log4j2 JMSAppender

如何在Spring Boot中使用Log4J2复合配置

如何在JAX-WS Java Web服务中使用Log4j2

Spring Boot 2:使用外部属性文件

如何使用Tomcat 8.5.15配置log4j2

如何使用log4j2 Commons Logging Bridge

如何使用log4j2删除旧日志

使用XMLLayout的log4j2如何?

如何使用JMSAppender log4j2 JAVA

如何使用log4j2(xml中的MDC)在不同的文件中写入不同的日志?

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

如何使用log4j2记录log4j日志

无法使用从属性文件中动态更改的配置来配置log4j2(v2.5)

使用log4j2时如何处理3rd-party jar中使用的“org/apache/log4j/Level”类?

如何在WebSphere Liberty Profile中使用DB2配置log4j2 JDBCAppender

在Grails 3中使用外部属性文件中的数据库属性

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