Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 slf4j&;log4j2 maven设置查询_Java_Maven_Logging_Slf4j_Log4j2 - Fatal编程技术网

Java slf4j&;log4j2 maven设置查询

Java slf4j&;log4j2 maven设置查询,java,maven,logging,slf4j,log4j2,Java,Maven,Logging,Slf4j,Log4j2,我在我的项目中使用log4j2和slf4j&使用maven进行构建。我正在使用下面的pom文件(仅显示相关依赖项),但我在下面复制了这个pom文件的错误-知道我需要添加/删除什么才能让它工作吗。我已经访问了错误中的url以及log4j2依赖项页面,因此请不要只在响应中指向url 消息: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) l

我在我的项目中使用log4j2和slf4j&使用maven进行构建。我正在使用下面的pom文件(仅显示相关依赖项),但我在下面复制了这个pom文件的错误-知道我需要添加/删除什么才能让它工作吗。我已经访问了错误中的url以及log4j2依赖项页面,因此请不要只在响应中指向url

消息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
pom文件

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <slf4j.version>1.7.7</slf4j.version>
</properties>

   <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>


    <dependency>
        <groupId>com.lmax</groupId>
        <artifactId>disruptor</artifactId>
        <version>3.2.0</version>
    </dependency>

     <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.0.1</version>
     </dependency>

     <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.0.1</version> 
     </dependency>

UTF-8
1.7.7
org.slf4j
slf4j api
${slf4j.version}
com.lmax
破坏者
3.2.0
org.apache.logging.log4j
log4japi
2.0.1
org.apache.logging.log4j
log4j型芯
2.0.1 
更新:
我在pom文件中添加了以下依赖项,并在mavenrepository中看到了jar——尽管在运行mvn clean/install时仍然看到了相同的消息

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.0.1</version>
    </dependency>

org.apache.logging.log4j
log4j-slf4j-impl
2.0.1

您的pom文件中似乎缺少以下内容

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0.1</version>
</dependency>

org.apache.logging.log4j
log4j-slf4j-impl
2.0.1

您的log4j2配置是正确的(POM端),但您从不告诉slf4j它应该在哪里写入(后端部分)

您应该将其添加到pom文件中

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0.1</version>
</dependency>

org.apache.logging.log4j
Log4j 2 SLF4J绑定允许编码到SLF4J API的应用程序使用Log4j 2作为实现


如果它仍然不起作用,您可能会遇到Eclipse问题,因为Eclipse m2e对于slf4j来说很奇怪。根据SO的这篇详细文章,解决方法可能是使用外部maven进行构建。

除了log4j-slf4j-impl依赖之外,您还需要slf4j-ext依赖


请参见

我认为您的第一个pom.xml是正确的(依赖项是正确的),也许配置文件位置是错误的

pom.xml

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.7</version>
    </dependency>

org.slf4j
slf4j api
1.7.25
org.apache.logging.log4j
log4japi
2.7
org.apache.logging.log4j
log4j型芯
2.7

groupId应该是“org.apache.logging.log4j”和版本“2.0.1”,如下所述:我的错误-是,版本应该是2.0.1,不是beta版,也不是适配器组id@user3813256那么,如果答案没有解决问题,为什么要将其标记为正确答案呢?当我通过eclipse运行maven clean/install时,我仍然看到相同的消息。在我的maven repo-slf4j=api-1.7.7、log4j-slf4j-impl-2.0.1、log4j-api-2.0.1、log4j-core-2.0.1中,我似乎拥有所有的依赖项,但我在运行maven时得到了消息,并且没有生成日志文件输出。当我不使用maven,但在lib目录中有所有jar并使用eclipse进行构建时,我使用相同的log4j2xml文件获得文件输出path@user3813256:我希望这足够了,因为我不使用Eclipse,但我已经更新了我的答案,并引用了另一篇文章。我会尽快接受,只要我能核实-我认为你是对的,但我需要在我的电脑上证明-谢谢你的帮助!最后一列显示Optional=YES。