java - 如何更改 Intellij 中 catch 语句的速度模板

标签 java intellij-idea apache-velocity

我想直接使用记录器在 catch block 中打印,例如:

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

我在“设置 - Catch 语句正文的文件和代码模板”中检查了 Velocity 模板

默认情况下,它是用

给出的
${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

每当我使用 try-catch block 或尝试使用资源 block 来捕获这样的内容时,希望自动将记录器语句放入 catch block 中:

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

最佳答案

尚无法在代码模板中使用${NAME}变量。您可以尝试使用以下构造来获取类名:

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

JetBrains 问题跟踪器上有类似的请求:IDEA-55300

关于java - 如何更改 Intellij 中 catch 语句的速度模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61012088/

相关文章:

java - Java 中的仿函数

java - IntelliJ IDEA 中的 Gradle 支持 : empty tool window

intellij-idea - 如何在 Android Studio 中移动(上/下)代码行?

java - 如何使用 Velocity 模板语言检查数组中是否存在值

java - 什么是类路径以及如何设置它?

Java AWT 在半透明框架上绘制

java - 我需要有关 Java 作业介绍的帮助

java - Spring Security jwt单元测试

java - 从 JDK 1.6 切换到 1.7 后,Intellij Idea 无法编译我的项目