Подтвердить что ты не робот

Slf4j & log4j2 запрос настройки maven

Я использую 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>

Update: Я добавил следующую зависимость к моему pom файлу, и я вижу jar в моем mavenrepository - хотя я все еще вижу одно и то же сообщение, когда запускаю mvn clean/install

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

Ответ 1

Кажется, у вас отсутствует файл pom.

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

Ответ 2

Ваша конфигурация log4j2 в правильной (сторона POM), но вы никогда не говорите slf4j, где она должна писать (бэкэнд-часть).

Ваше сообщение должно добавить к вашему файлу pom

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

Это привязка Log4j 2 SLF4J. Согласно Log4j 2 SLF4J Документация по связыванию Связывание Log4j 2 SLF4J позволяет приложениям, закодированным в API SLF4J, использовать Log4j 2 в качестве реализации

Если он все еще не работает, может возникнуть проблема Eclipse, поскольку Eclipse m2e, как известно, странно относится к slf4j. В соответствии с этим подробным сообщением из SO SLF4J: Не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder" . error обходным путем может быть использование внешнего maven для сборки.