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

Sen*_*Sen 16 java netbeans

我想知道是否有与eclipse中相同的功能来自动生成和打印Netbeans中System.out.println(ClassName::MethodName <then my message>)功能(它将在控制台中打印调试的名和方法名).

例如,在Eclipse Editor中,键入

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).
  } 
}  
Run Code Online (Sandbox Code Playgroud)

更新:

使用以下代码模板:

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

我能够打印类名,但仍然没有方法名称的线索.

vik*_*iii 7

您可以使用它Logger来实现这一点.

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

使用log4j或其他记录器的实现将让您classmethod信息和每一个商业应用程序中使用logger比使用System.out.

记录器还能够定义记录消息的不同重要级别以及为输出使用不同接收器的能力 - 控制台,文件等.

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

如果您的应用程序正在使用spring framework,那么您可以使用Log4j和AOP来实现它.

Setting the log level
Run Code Online (Sandbox Code Playgroud)

您可以设置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
Run Code Online (Sandbox Code Playgroud)

示例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>
Run Code Online (Sandbox Code Playgroud)

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

就像%m意味着它会存储一样method name.与其他人一样,您必须阅读它以用于不同的用途.很重要的是你可以根据自己的需要定制它.


Azu*_*ame 1

目前,经过一些测试,我发现没有办法在 netbeans 中实现相同的功能。也许您可以坚持使用 eclipse,因为它过去似乎对您很有效。

如果您确实想在 NetBeans 中完成此操作(我仍然更喜欢(并推荐)Eclipse),我建议您查看此插件,并可能对其进行编辑以添加您正在寻找的 SystemTrace 功能。