java - 如何在Netbeans中实现Eclipse的 "System.out.println(ClassName::MethodName <then my message>)"?

标签 java netbeans

想知道有没有和eclipse一样的功能自动生成并打印System.out.println(ClassName::MethodName <then my message>) Netbeans 中的功能(将打印 名称和方法 名称以在控制台 中进行调试)。

例如,在 Eclipse 编辑器中,键入

syst + Ctrl+ Space

将在控制台中自动生成 System.out.println(ClassName::MethodName ) 类型输出。

Netbeans 中有这样的方法吗?

截至目前,我在 Netbeans 中只有两种方法:

sout + Tab

(System.out.println()) 和

soutv + Tab

(System.out.println(打印行上方使用的变量)) 自动。

让我换个说法,我想获取封闭的方法名称,而不是 myMethod1。

例如。 :

public class X {

  public void myMethod1(int a) {
    System.out.println(X::myMethod1()); // This should be produced when I type the Code-Template abbreviation (example: syst) and press tab (or corresponding key).
  }
}

public class Y {

  public void myMethod2(int b) {
    System.out.println(Y::myMethod2()); // This should be produced when I type the Code-Template abbreviation (example: syst) and press tab (or corresponding key).
  } 
}  

更新:

使用以下代码模板:

syst = System.out.println("${classVar editable="false" currClassName default="getClass()"}");

我可以打印类名,但仍然不知道方法名。

最佳答案

您可以使用Logger 来实现它。

Apache log4j是一个基于 Java 的日志记录实用程序。

使用 log4j 或其他记录器实现将为您提供 classmethod 信息,每个商业应用程序都使用 logger比使用 System.out.

记录器还提供了定义记录消息的不同重要性级别的能力,以及为输出使用不同接收器的能力——控制台、文件等。

此外,使用记录器时,仅启用或禁用某种类型的消息也很容易 - 例如,您不希望看到生产中的每条调试消息。

如果您的应用程序正在使用 spring 框架,那么您可以使用 Log4j and AOP实现这个。

Setting the log level

您可以设置 5 个日志级别:

`FATAL` — logs only fatal errors

`ERROR` — logs all errors

`WARN` — logs warnings, and all errors

`INFO` — logs information, warnings, and all errors

`DEBUG` — logs debug information, and all other levels

示例 log4j.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
 <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
   <layout class="org.apache.log4j.PatternLayout">
     <param name="ConversionPattern" value="%d{ABSOLUTE} 
      %5p %c{1}:%L - %m%n"/> 
    </layout>
     </appender>
       <root>
      <priority value="debug"></priority>
      <appender-ref ref="stdout"/>
    </root>
</log4j:configuration>

在此配置文件中,您可以选择要存储的内容。

%m 表示它将存储方法名。 其他人也一样,你必须阅读它以了解不同的用法。 好的部分是你可以根据你的需要定制它。

关于java - 如何在Netbeans中实现Eclipse的 "System.out.println(ClassName::MethodName <then my message>)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12932389/

相关文章:

mysql - 如何在 netbeans sql 中使用外键约束进行参照完整性?

java - Ambari-metrics-collector 服务未启动

java - 如何获取与依赖 jar 捆绑在一起的可执行 javafx jar?

java - 在 netbeans 8.2 中添加 Glassfish Server 5.0

Java表单搜索方法不起作用-(无法从数据库成员表中细化Member_ID)

java - 如何在 NetBeans 中显示构建结果中的错误汇总表?

java - 如何从 Java 中的 List<String[]> 获取具有频率的唯一值?

java - 设置环境变量并在运行时获取值

java - 通过 java 和 sql plus 使用存储过程

java - 单击“服务”选项卡时,Netbeans IDE(完整)6.5.1 只是挂起