spring - log4j:WARN 找不到记录器的附加程序 (org.springframework.core.env.StandardEnvironment)

标签 spring maven logging log4j log4j2

我正在尝试使用 log4j2.xml 代替 log4j,但我一直在获取

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.

文件位于 src/main/resources 下

 <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="WIP">
  <Appenders>
    <Console name="console" target="SYSTEM_OUT">
        <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %MDC{threadTrackId} %40c{1.} - %msg%n"/>
    </Console>
</Appenders>
<Loggers>
    <Root level="warn">
        <AppenderRef ref="console"/>
    </Root>
    <Logger name="com.test" level="debug"/>
    <Logger name="org.springframework" level="info"/>
</Loggers>
</Configuration>

我不确定文件是否被正确定位,但其中的附加程序未被正确读取或文件未被定位。

在我的pom文件中我有以下依赖

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
<dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
    </dependency>

这是我在 pom 中的构建部分

  <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.4.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>com.wirecard.wip.db.RecreateDatabase</mainClass>
                <cleanupDaemonThreads>false</cleanupDaemonThreads>
            </configuration>
        </plugin>
    </plugins>
</build>

在我的类里面,这是我初始化记录器的方式

private static final Logger LOG =   LoggerFactory.getLogger(MyClass.class);

我的进口商品是

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

我使用这个命令通过 maven 运行我的类

mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=log4j2.xml

我也试过

mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=classpath:log4j2.xml

感谢任何帮助

最佳答案

讯息

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.

来自 log4j1。您的类路径中必须仍然有 jar。运行“mvn dependency:tree”并查看是什么引入了它,然后为它添加一个排除项。

关于spring - log4j:WARN 找不到记录器的附加程序 (org.springframework.core.env.StandardEnvironment),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46608988/

相关文章:

spring - Spring Boot with JOOQ 和 Spring Data JPA 之间的技术差异

java - 使用 spring 3.0 MVC 尝试 IntelliJ,如何导入所需的库?

java - 无法执行目标 org.codehaus.mojo :exec-maven-plugin:1. 2.1 - kafka Storm 集成

.net - .NET New Relic Agent 是否可以配置为记录我的应用程序的日志消息并捕获异常?

python - 为什么 logger.info() 只在调用 logging.info() 后出现?

java - spring WebApplicationInitializer 配置多个servlet

java - 泽西 + Spring + hibernate

maven - 强制执行最低版本的 Maven

java - 如何使用Maven类路径运行Java主类?

java - 如何在 PLAY Java 日志中显示 CLASSNAME?