如何在枚举单例中实现日志记录?

埃里克·阮(Eric Nguyen):

我正在使用枚举单例,但是实现日志记录很麻烦。这个:

public enum Foo {
  INSTANCE;

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

  ...
}

记录器的实例化方式与我为普通Java类实例化记录器的方式相同,但当然会出现以下错误:

Foo.java: illegal reference to static field from initializer 

是否存在登录枚举单例的等效方法?

hvgotcodes:

要回答您的问题,只需将记录器设为静态...

顺便说一句,我认为即使对于对象实例也使用静态记录器是其标准做法。换句话说,记录器在课堂上。所有对象都使用静态记录器引用。

看到

http://logging.apache.org/log4j/1.2/manual.html

在其中使用记录器的大多数示例都将记录器作为静态属性...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章