使用log4J记录静态方法

vic*_*ico 3 java log4j

在每个类中,我都有用于记录的记录器:

public class Myclass
{
    public final Logger log = Logger.getLogger(getClass());
}
Run Code Online (Sandbox Code Playgroud)

但是当我需要记录静态方法时该怎么办?log不是静态变量?

Eug*_*nov 10

使您的记录器静态:

public class Myclass
{
    private static final Logger log = Logger.getLogger(Myclass.class);
}
Run Code Online (Sandbox Code Playgroud)

  • 那么,使用非静态记录器变量相对于静态有什么优势吗?在我看来,使用静态总是更好。 (2认同)
  • @vico,事实上 - 是的。使用静态记录器的唯一缺点是您可能会在将记录器复制粘贴到新类时忘记更改类的名称。 (2认同)