簡體   English   中英

給定多個(> 2)參數時,Scala slf4j記錄問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM