Как изменить шаблон скорости в Intellij для оператора catch - PullRequest
0 голосов
/ 03 апреля 2020

Я хочу напечатать в блоке catch напрямую с помощью регистратора, например:

Logger.getLogger (Example.class.getName ()). Log (Level.SEVERE, null, ex);

Я проверил шаблон Velocity в настройках - Шаблоны файлов и кодов для тела оператора Catch

По умолчанию ему присваивается значение

${EXCEPTION}.printStackTrace()

Попытка изменения с помощью:

Logger.getLogger(${NAME}.class.getName()).log(LEVEL.INFO,${EXCEPTION}.printStackTrace(),${EXCEPTION});

но оператор Logger работает неправильно, NAME не выбирает имя класса, как указано в рекомендациях: https://www.jetbrains.com/help/idea/file-template-variables.html

Хотите автоматически помещать оператор logger в блок catch, когда я использую try- перехватить блок или попытаться перехватить блок ресурсов так, чтобы он имел вид:

Logger.getLogger(Example.class.getName()).log(Level.SEVERE, null, ex);

1 Ответ

0 голосов
/ 03 апреля 2020

Невозможно использовать переменную $ {NAME} в Code Templates. Вы можете попытаться использовать следующую конструкцию для получения имени класса:

Logger.getLogger(this.getClass().getName()).log(LEVEL.INFO,${EXCEPTION}.printStackTrace(),${EXCEPTION});

Существует аналогичный запрос на трекере проблем JetBrains: IDEA-55300

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...