Daredevil:
Estoy tratando de crear una aplicación de registro simple en Java utilizando log4j2
.
Esto es como se ve:
package com.company;
import java.io.IOException;
import java.util.logging.LogManager;
import java.util.logging.Logger;
public class Main {
private static final Logger logger = LogManager.getLogger(Main.class);
public static void main(String[] args) throws IOException {
String message = "Hello there!";
System.out.println(message);
logger.info(message);
}
}
Hay un error en getLogger
afirmar:
Non-static method 'getLogger' cannot be referenced from a static context
He mirado en varios temas en este foro, pero ninguno de ellos parecía funcionar. Parecían declarar el registrador de la misma manera como lo hice anteriormente.
¿Qué estoy haciendo mal aquí?
Mickael:
Si está utilizando log4j2
entonces ha importado el mal LogManager
y Logger
. Usted debe tener presente:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
Usted debe echar un vistazo a la documentación: https://logging.apache.org/log4j/2.x/manual/api.html
EDIT: Maven
De acuerdo con la documentación Usando Log4J en su construcción Apache Maven , usted debe tener las siguientes dependencias en su pom.xml
:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
</dependencies>