[英]Scala slf4j logging issue when given multiple (>2) params
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 *)Unit(x $ 1:org.slf4j.Marker,x $ 2:String,x $ 3:任何,x $ 4:任何)單位(x $ 1:字符串,x $ 2:對象*)單位不能應用於(字符串,整數,整數,整數)
我正在使用slf4j-log4j12 + slf4j-api進行日志記錄。
Int到對象的裝箱轉換不是隱式完成的。
您可以顯式強制(42: Integer)
。
另外,在Scala中調用getSimpleName
也是危險的,因為Scala以可能引發異常的方式對類名進行編碼。 這是一個已知問題,並且會影響非頂級的類。 避免它更安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.