4
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)

info1 つのステートメントで 3 つ以上の変数をログに記録する方法はありませんか?

4

3 に答える 3

9

Logger.info(java.lang.String, java.lang.Object...)SLF4J をvarargs メソッドを含む 1.7 にアップグレードする必要があります。バグ 31 - ロガー メソッドの可変引数を参照してください。6 年間の議論の末に修正されました。

1.7 より前でObject[]は、2 つ以上を使用している場合は、引数を次のように囲む必要があります。

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

こちらもご覧ください

于 2012-10-18T20:29:17.927 に答える
1

古いバージョンのslf4jを使用している可能性があります。

以前のバージョンでは、この方法で最大2つのパラメーターしかログに記録できませんでしたが、新しいバージョンでは、任意の数のパラメーターを使用できます

于 2012-10-18T20:28:54.927 に答える
0

Logger のJavaDocに従って、次のいずれかを使用できます。

  void  info(String format, Object... arguments)
  void  info(String format, Object arg)
  void  info(String format, Object arg1, Object arg2)
于 2012-10-18T20:30:16.993 に答える