2016-05-31 1 views
3

Я хочу создать пользовательский Logger в log4j2. Я попытался следующие описанные here:Создание пользовательских регистраторов

java -cp log4j-core-2.6.jar org.apache.logging.log4j.core.tools.Generate$CustomLogger Logger TEST=550 PRODUKTION=200 > Logger.java 

Я получил log4j-жильный-2.6.jar файл из here. Если я пытаюсь запустить команду в моем терминале (я использую osx10.11.5) Я получаю следующее сообщение об ошибке:

Error: Main method not found in class org.apache.logging.log4j.core.tools.Generate, please define the main method as: 
    public static void main(String[] args) 
or a JavaFX application class must extend javafx.application.Application 

Вы знаете, что я делаю неправильно?

Прошу прощения!

EDIT: Благодаря Александру Cartapanis я должен был изменить команду следующим образом:

java -cp log4j-core-2.6.jar 'org.apache.logging.log4j.core.tools.Generate$CustomLogger' MyLogger TEST=550 PRODUKTION=200 > Logger.java 
+0

Согласно вашей ссылке, вы должны заменить ''> Logger.jar'' на ''> Logger.java'', скомпилировать java-файл и затем добавить его в свой путь к классу приложений. –

+0

Да, извините, это была плохая копия вставить. Это все та же проблема. – ReasyEasyPeasy

ответ

4

Попробуйте окружить команду с «».

Здесь ошибка говорит о том, что java не может найти основной метод в классе «org.apache.logging.log4j.core.tools.Generate», но основной метод находится в «org.apache.logging.log4j.core .tools.Generate $ CustomLogger».

Возможно, проблема с «$» в названии класса. Я не эксперт в оболочке macos, но я думаю, что решение состоит в том, чтобы избежать символа «$».