Я пытаюсь понять log4j с помощью нескольких инструкций, данных моим Java инструктором. Вот что я сделал.
1) Создан Java проект и добавлен некоторый код в метод main.
2) Добавлены внешние jar (log4j-core-2.11.1.jar и log4j-api-2.11. 1.jar
3) Добавлен импорт:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
4) Добавлен следующий текст в моем основном классе
private static final Logger logger = LogManager.getLogger();
, и вот где я застрял.
Исключение, которое я получаю:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at com.test.JavaProgram.<clinit>(JavaProgram.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
..
5) Мой инструктор в документе также упомянул, что добавил следующее как часть аргументов VM, и я это сделал.
-Dlog4j.configurationFile=./conf/log4j-console-config.xml
В данный момент у меня нет времени, чтобы понять Log4j или затмение. Что я здесь не так делаю?
Редактировать: Когда я запускаю программу под именем «Запуск от имени Java Приложение», появляется окно («Выбрать Java Приложение») и просит ввести «Выбрать тип». (? = любой символ ...): Когда я нажимаю "ОК", отображается следующее:
Usage: java
org.apache.logging.log4j.core.tools.Generate$CustomLogger className LEVEL1=intLevel1
Where className is the fully qualified class name of the custom/extended logger
to generate, followed by a space-separated list of custom log levels.
For each custom log level, specify NAME=intLevel (without spaces).
Я знаю, что Maven проще, но я вынужден использовать это!