1

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

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

我在 Settings - File and Code Templates for Catch Statement body 中检查了 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 块或尝试使用资源块来捕获时,想要自动将 logger 语句放入 catch 块中,这样它就有:

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

1 回答 1

0

目前还不能使用${NAME}变量Code Templates。您可以尝试使用以下构造来获取类名:

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

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

于 2020-04-03T16:02:04.973 回答