我想在Netbeans中为logger编写代码模板:
org.slf4j.LoggerFactory.getLogger(XXXXXX.class).warn("${cursor}");
我无法在reference中找到将当前类名插入模板的语法(请参阅上面的 XXXXXX 占位符)。
答案 0 :(得分:5)
我创建了以下代码模板:
private static final ${LOGGER_TYPE type="org.slf4j.Logger" default="Logger" editable=false} LOGGER = ${LOGGER_FACTORY type="org.slf4j.LoggerFactory" default="LoggerFactory" editable=false}.getLogger(${CLASS editable="false" currClassName}.class);
我已将其与缩写log
相关联。
所以在光标处:
...
public class MyClass {
|
...
我输入log
+ TAB ,NetBeans扩展了文字:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
public class MyClass {
private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
...
我也有:
logd
+ TAB logw
+ TAB logi
+ TAB loge
+ TAB 编码为:
${LOGGER_CONST default="LOGGER" editable=false}.debug("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.warn("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.info("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.error("${logMessage}", ex);
生成:
LOGGER.debug("logMessage");
LOGGER.warn("logMessage");
LOGGER.info("logMessage");
LOGGER.error("logMessage", ex);
答案 1 :(得分:1)
要获取当前的类名,您需要在代码模板中使用它:${classVar editable=false currClassName default=getClass()}