我想直接使用记录器在 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/