private static final Logger LOGGER = LoggerFactory.getLogger(Updater.class);
我正在使用SLF4J
和Logback
当我尝试记录语句时
LOGGER.info("{}:{}:{}", one, two, three)
它说
cannot find symbol method info(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
我没有办法在一个info
语句中记录两个以上的变量吗?
答案 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)