在 Java 中,为什么,要讲日志定义为静态变量

在 Java 中,为什么,要讲日志定义为静态变量呢?

private - 这样没有其他的类可以劫持你的日志

static - 这在每一个类中只有一个日志实例,这样可以避免序列号日志。

final - 在整个类的生命中秋中不需要修改日志。

同时我也希望日志的定义尽可能的简单。

同样有下面的例外:

protected final Logger log = LoggerFactory.getLogger(getClass());

相反的可以定义为下面:

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