java - método no estático 'getLogger' no se puede hacer referencia a un contexto estático

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 getLoggerafirmar:

 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 log4j2entonces ha importado el mal LogManagery 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>

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=223946&siteId=1
Recomendado
Clasificación