0

尝试将 log4j 记录器添加到 Generic 类时,它不会生成日志。这是使用的代码。

public class GenericClass<K extends Serializable, V extends Serializable> extends ... {
      public static Logger log = Logger.getLogger(GenericClass.class.getName());

我猜这个代码失败的原因是因为该类直到运行时才被实例化,并且我不再给出的纯名称解析为新生成的类。

有没有办法可以记录泛型类?

4

1 回答 1

2

泛型与此无关。

在运行时,一个名为x.y.z.GenericClass(x.y.z是所在的包GenericClass) 的记录器。如果没有记录任何内容,则可能是因为您的应用程序没有记录任何内容,或者您​​的 Log4J 配置有问题。

要确定哪一个是正确的,请添加-Dlog4j.debug=true到您的服务器初始化参数并尝试一下。

于 2012-11-28T06:15:23.473 回答