statuslogger found error ejemplo java maven logging slf4j log4j2

java - found - Consulta de configuración de slf4j & log4j2 maven



log4j2 java (4)

Además de la dependencia log4j-slf4j-impl, también necesita la dependencia slf4j-ext.

Consulte http://logging.apache.org/log4j/2.x/log4j-slf4j-impl/dependencies.html

Estoy usando log4j2 y slf4j en mi proyecto y usando maven para la compilación. Estoy usando el siguiente archivo pom (solo se muestran las dependencias de relevancia) pero me aparece el error copiado a continuación con este archivo pom: cualquier idea de lo que necesito agregar / eliminar para que esto funcione. Ya he visitado la URL en el error, así como la página de dependencias de log4j2, así que no solo señale las URL en su respuesta.

Mensaje:

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.

archivo 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>

Actualización: agregué la siguiente dependencia a mi archivo pom y veo el archivo jar en mi mavenrepository, aunque todavía veo el mismo mensaje cuando ejecuto mvn clean / install

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


Creo que su primer pom.xml es correcto (la dependencia es correcta), tal vez la ubicación del archivo de configuración sea incorrecta

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>


Parece que te estás perdiendo lo siguiente de tu archivo pom.

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


Tu configuración log4j2 está en la parte correcta (lado POM), pero nunca le dices a slf4j dónde debería escribir (parte de backend).

Tu deberías agregar eso a tu archivo pom

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

Es el enlace Log4j 2 SLF4J. De acuerdo con la documentación de Log4j 2 SLF4J Binding Log4j 2 SLF4J Binding permite que las aplicaciones codificadas en la API SLF4J utilicen Log4j 2 como la implementación.

Si aún así no funciona, es posible que tenga un problema con Eclipse porque se sabe que Eclipse m2e es raro en relación con slf4j. De acuerdo con esta publicación detallada de SO SLF4J: Error al cargar la clase “org.slf4j.impl.StaticLoggerBinder”. error una solución podría ser usar un experto externo para hacer la compilación.