Java Logging语句表示无法查找符号

时间:2012-10-18 20:24:16

标签: java slf4j

private static final Logger LOGGER = LoggerFactory.getLogger(Updater.class);

我正在使用SLF4JLogback

当我尝试记录语句时

LOGGER.info("{}:{}:{}", one, two, three)

它说

cannot find symbol method info(java.lang.String,java.lang.String,java.lang.String,java.lang.String)

我没有办法在一个info语句中记录两个以上的变量吗?

3 个答案:

答案 0 :(得分:9)

您必须将SLF4J升级到1.7,其中包括Logger.info(java.lang.String, java.lang.Object...) varargs方法。经过六年的讨论后,请参阅Bug 31 - Varargs for Logger methods

在1.7之前,如果使用的是两个以上,则必须用Object[]括起参数:

LOGGER.info("{}:{}:{}", new Object[] {one, two, three})

另见

答案 1 :(得分:1)

您可能正在使用旧版本的slf4j。

在以前的版本中,您只能以这种方式记录最多2个参数,但较新版本可以采用any number of parameters

答案 2 :(得分:0)

根据Logger的JavaDoc,您可以使用以下任一项

  void  info(String format, Object... arguments)
  void  info(String format, Object arg)
  void  info(String format, Object arg1, Object arg2)