Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring-SpringJUnit4ClassRunner仍然使用LOG4J 1而不是2?_Java_Spring_Maven_Log4j_Log4j2 - Fatal编程技术网

Java Spring-SpringJUnit4ClassRunner仍然使用LOG4J 1而不是2?

Java Spring-SpringJUnit4ClassRunner仍然使用LOG4J 1而不是2?,java,spring,maven,log4j,log4j2,Java,Spring,Maven,Log4j,Log4j2,我正在使用SpringRunner类来指导我的IT测试: @ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = MyTestConfiguration.class) @RunWith(SpringRunner.class) class SomeTestIT { // tests here } @Configuration public class MyTestConfiguration

我正在使用
SpringRunner
类来指导我的IT测试:

@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = MyTestConfiguration.class)
@RunWith(SpringRunner.class)
class SomeTestIT {
    // tests here
}

@Configuration
public class MyTestConfiguration {
}
对于log4j2,我有以下Maven依赖项:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-bom</artifactId>
            <version>2.9.1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.0.1.RELEASE</version>
        <scope>test</scope>
    </dependency>
我把这个
log4j2.xml
放在
src/test/resources

现在,当测试运行时,我收到以下警告:

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
由于某些原因,我找不到,我的log4j2配置没有用于
SpringRunner
的日志记录。我如何调试并修复这个问题

更新

我不认为这是相关的,但以防万一:我还有以下依赖关系:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</version>
    </dependency>

org.slf4j
slf4j api
1.7.25
org.slf4j
slf4j-log4j12
1.7.25

这是旧的log4j绑定:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

最新版本是2.9.1。版本早于2.9.0,请选择SLF4J API版本。

我会尝试一下。我是否应该将
org.slf4j:slf4j api:1.7.25
留在类路径中?是的。特别是如果您计划自己使用slf4j。我仍在尝试验证spring依赖关系,但不知道您使用的是什么版本。对不起。我看到它是5.0.1 Spring 5依赖于slf4j-api-1.7.25和log4j-api-2.9.1。所以,希望只是更新绑定就能为您解决这个问题。
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.9.1</version>
</dependency>