den folgenden Code zu haben: log.info ("Parameter {} und {}", param1, param2) kompiliert und arbeitet gut mit SLF4J in ScalaScala und SLF4J :: passieren mehrere Parameter
Allerdings, wenn ich wollen mehr Argumente zu übergeben, muss ich Array verwenden:
log.info("parameters {} and {} and {}", Array(param1, param2,param3))
die einfach erste Parameter mit Array.toString ersetzt und verlässt übrigen Parameter ungebunden.
Der folgende Code
log.info("parameters {} and {} and {}", Array(param1, param2,param3) : _*)
lässt sich nicht kompilieren, weil:
error: overloaded method value info with alternatives:
(org.slf4j.Marker,java.lang.String)Unit <and>
(java.lang.String,java.lang.Throwable)Unit <and>
(java.lang.String,Array[java.lang.Object])Unit <and>
(java.lang.String,Any)Unit
cannot be applied to (java.lang.String, Any)
log.info("parameters {} and {} and {}", Array(param1, param2,param3) : _*)
Was bin ich hier?
Jede Projektabhängigkeit ist eine zusätzliche zukünftige Wartungsarbeit. Zum Beispiel wird "Logula", das 2012 von @Falmarri erwähnt wurde, jetzt als "aufgegeben" markiert. –