Добавление журнала Log4j в приложение Vaadin 8

Я пытался следовать документации здесь на Log4j с помощью SLF4J, но по-прежнему не удается использовать правильный адаптер. Итак, как можно использовать aLog4j в приложении Vaadin 8? Какие зависимости нужно добавить в pom.xml?


person anasmi    schedule 03.12.2019    source источник


Ответы (1)


Для работы ведения журнала требуется несколько дополнений/изменений.

  1. Наряду с зависимостями, упомянутыми в документации, необходимо добавить:

    • SLF4J
    • jul-to-slf4j
    • slf4j-log4j12-x.x.x.j

Также следует добавить log4j-core. Соответствующий фрагмент pom.xml выглядит следующим образом:

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

<dependency>
   <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.29</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jul-to-slf4j</artifactId>
    <version>1.7.29</version>
</dependency>
  1. Следующим шагом будет добавление файла log4j.properties (в моем случае под src/main/resources/log4j.properties). Здесь вы можете настроить свойства ведения журнала

  2. Как указано в документации, в определение сервлета следует добавить SLF4JBridgeHandler (в случае, если сервлет только один).

 @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
    @VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
    public static class MyUIServlet extends VaadinServlet {
        static {
            SLF4JBridgeHandler.install();
        }
    }
  1. Импорт, используемый для Logger и LoggerFactory:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.bridge.SLF4JBridgeHandler;
  1. Чтобы убедиться, что для регистратора выбрана правильная реализация, его простое имя печатается System.out.println("Adapter name:" + logger.getClass().getSimpleName());. Вывод должен быть: Log4jLoggerAdapter

Примечание. Я использовал log4-core меньше, чем 2.9, так как я использую Java 8 и причал Ошибка сканирования записи.... Вы должны перейти на более новую версию, если ваш jre> 8

person anasmi    schedule 03.12.2019