为什么不调用log.info产生输出?

时间:2016-07-25 15:23:02

标签: groovy

请看这段代码:

import java.util.logging.Logger

class Base {

  Logger log = new Logger(Base.getClass().name);

  static main(args) {
    def b = new Base();
    b.log.info('hello');
  }

}

当我编译它时,我没有看到任何错误或警告。 但是当我尝试执行它时,我看到空输出。 为什么呢?

1 个答案:

答案 0 :(得分:4)

不要实例化新的Logger,使用Logger.getLogger()来检索/创建所需的记录器。

 Logger LOGGER = Logger.getLogger(Base.class.name)
 LOGGER.info('hello')

但是,如果你想使用new Logger(),看起来你只需要指定一个处理程序来显示日志输出。

Logger LOGGER = new Logger(Base.class.name)
LOGGER.addHandler(new java.util.logging.ConsoleHandler())
LOGGER.info('hello')