如何在静态上下文中获取类的记录器?

时间:2012-11-22 18:27:20

标签: java logging

我正在尝试接收我班级的记录器:

public static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(this);

但是使用“this”导致“无法在静态上下文中使用它”错误。

任何人都知道如何解决这个问题?

编辑:我必须能够从我的程序中的所有类访问记录器,因此必须是公开的。

2 个答案:

答案 0 :(得分:10)

注意我将修饰符从public更改为private

public class FooBar {

    private static final Logger log = Logger.getLogger(FooBar.class);

    //or (if you are using java.util.logging):

    private static final Logger log = Logger.getLogger(FooBar.class.getName());


}

答案 1 :(得分:6)

对于org.appache.log4j:

private static final Logger LOG = Logger.getLogger(MyClass.class);

对于java.util.Logging

private static final Logger LOG = Logger.getLogger(MyClass.class.getName());