在控制台中输出调试信息

时间:2012-08-12 15:17:28

标签: java swing debugging console

我正在使用Java应用程序,它将使用swing用户界面。它将要求用户通过填写​​表单来指定一些设置,然后处理它们并在./output/目录中生成一些文件。

在开发过程中,我想使用System.out.println()方法在控制台中输出一些技术信息。

我完成开发后是否需要删除所有这些控制台输出?

如果是,在开发过程中显示调试信息的最佳方法是什么,以便在生产之前轻松删除它?

也许我应该只使用JUnit测试进行调试?我刚刚开始使用它,所以我对其功能有了模糊的概念。

2 个答案:

答案 0 :(得分:17)

如果您不打算使用专门的调试框架,它可以像以下一样简单:

if (Debugger.isEnabled())
    Debugger.log("message here");

Debugger类只封装了println调用(如下所示):

public class Debugger{
    public static boolean isEnabled(){
        return true;
    }

    public static void log(Object o){
        System.out.println(o.toString());
    }
}

这种方式当您想要进行制作时,或者您可以通过更改类中的一行来修改调试行为(或禁用它)。

答案 1 :(得分:7)

对Debugger类的一个小改进,使客户端更清洁:

public static void log(Object o){
    if(Debugger.isEnabled()) {
        System.out.println(o.toString());
    }           
}

然后客户端只需要一行:

Debugger.log("....")