val LOG = LoggerFactory.getLogger(this.getClass.getSimpleName)
LOG.info("This log works {} {} ", 1, 2)
LOG.info("This log fails {} {} {} ", 1, 2, 3)
编译错误: 用替代方法重载方法值信息:(x $ 1:org.slf4j.Marker,x $ 2:String,x $ 3:Object *)单位(x $ 1:org.slf4j.Marker,x $ 2:字符串,x $ 3:任意,x 4美元:任何)单位(x $ 1:字符串,x $ 2:对象*)单位不能应用于(String,Int,Int,Int)
我正在使用slf4j-log4j12 + slf4j-api进行记录。
答案 0 :(得分:1)
Int到Object的装箱转换不是隐式完成的。
您可以明确强制(42: Integer)
。
此外,在Scala中调用getSimpleName
是危险的,因为Scala以可能引发异常的方式对类名进行编码。这是一个已知问题,会影响不是顶级的类;只是避免它更安全。