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

Log4j2 - настройка

Я пытаюсь принять Log4j2 в своем новом проекте, но я получаю свои журналы в catalina.out, и первый из них всегда: ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger. Кажется, что я сделал все в соответствии с документами Log4j2, но все же.

Вот что я на самом деле сделал:

  • добавил log4j-api-2.0-beta3.jar к моему проекту
  • создал файл log4j2.xml и поместил его в место, находящееся в пути к классам (в настоящее время в /usr/local/tomcat/home/lib). Фактически, я взял образец файла с веб-страницы Log4J2.
  • перезагружен tomcat.

Я использую Tomcat 7, MacOS X 10.8, Java 7.

Что мне не хватает?

На всякий случай, вот log4j2.xml, который я использую:


<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn" name="MyApp" packages="">
  <appenders>
    <File name="MyFile" fileName="logs/app.log">
      <PatternLayout>
        <pattern>%d %p %C{1.} [%t] %m%n</pattern>
      </PatternLayout>
    </File>
  </appenders>
  <loggers>
    <root level="trace">
      <appender-ref ref="MyFile"/>
    </root>
  </loggers>
</configuration>
4b9b3361

Ответ 1

У меня была та же проблема. Добавив также log4j-core-2.0-beta3.jar к пути к нему, он работал.

Ответ 2

В Maven у вас обычно есть эта конфигурация регистрации:

<properties>    
    <slf4j-version>1.7.7</slf4j-version>
    <slf4j-log4j2-version>2.0.1</slf4j-log4j2-version>
</properties>

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

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${slf4j-log4j2-version}</version>
</dependency>

Чтобы добавить ядро ​​журнала, вы должны:

  • Добавить 2.0.1 в раздел свойств
  • Добавьте основную зависимость журнала:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2-version}</version>
    </dependency>
    

Ответ 3

New icon Обновлен до версии 2.7

Добавьте следующие банки в свой проект:

Если вы используете Maven, добавьте зависимость:

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

Ответ 4

Я использую log4j2.8.2, и я автоматически разрешаю автоконфигурировать, поместив log4j2.xml в папку веб-классов (WEB-INF/classes/log4j2.xml)