方法访问日志记录的自动或快捷方式

时间:2014-01-08 10:28:47

标签: java logging automation field shortcut

这可能是一个相对愚蠢的问题,但我厌倦了必须硬编码语句,如:

private void doStuff(){
System.out.println(this.getClass().getName().toString()+ someText);{...};}

每次我想
所以我决定实现一个外部方法,只要我决定需要写一些内容,就会在输出流中写入,例如:。

public static void println(Object obj, String s) {
    System.out.println(obj.getClass().getName() + " > " + s);
}

所以问题是,有没有办法在上面的方法中自动设置's'变量的值,在编写源代码时始终默认为“initialized”(使用代码完成的TAB,例如Netbeans)?

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

为什么不用默认值重载方法?

public static void println(Object obj) {
    println(obj, "Initalized");
}
public static void println(Object obj, String s) {
    System.out.println(obj.getClass().getName() + " > " + s);
}

答案 1 :(得分:0)

使用varargs作为第二个方法参数。这也允许您传递多个调试语句。

public class Logger {

    public static void main(String[] args) {
        String test = "Test";
        println(test);
        println(test, "This is a test");
    }

    public static void println(Object obj, String...vargs) {
        String defaultValue = "initialized";
        if(vargs.length == 0){
            System.out.println(obj.getClass().getName() + " > " + defaultValue);
        }else{
            for(String x: vargs){
                System.out.println(obj.getClass().getName() + " > " + x);
            }
        }
    }
}