问题描述
slf4j Logger具有干净的格式化程序语法。 (使用花括号)
org.slf4j.Logger.error("Invalid value1={} for value2={}",value1,value1)
以下方法是否有类似的替代方法?我想要通用({})而不是类型专用的占位符。
String.format("Invalid value1=%d for value2=%d",value1)
解决方法
您可以将String.format
与%s
一起使用。
String.format("Invalid value1=%s for value2=%s",value1,value1)
%s
适用于所有类型,就像{}
在记录器中一样。它将任何给定的参数转换为字符串,这似乎正是您的要求。
您可以根据需要使用MessageFormat,尽管您需要指定参数编号:
MessageFormat.format("Invalid value1={0} for value2={1}",value2);