我有以下代碼:性狀名稱作爲記錄器名稱
import org.slf4j.LoggerFactory
trait Logger {
lazy val log = LoggerFactory.getLogger(getClass.getName)
}
trait DoSomething1 extends Logger { ... }
trait DoSomething2 extends Logger { ... }
trait DoSomething3 extends Logger { ... }
...
trait DoAll extends DoSomething1 with DoSomething2 with ...
val act = new DoAll {}
在我的日誌我看到:
INFO Main$$anon$1: blablabla ...
INFO Main$$anon$1: blablabla ...
INFO Main$$anon$1: blablabla ...
ERROR Main$$anon$1: blablabla ...
DEBUG Main$$anon$1: blablabla ...
我無法實現其特質打印每條消息。 我想看到的東西,如:
INFO Main$$DoSomething1$1: blablabla ...
INFO Main$$DoSomething3$1: blablabla ...
DEBUG Main$$DoSomething2$1: blablabla ...
或許斯卡拉源名稱:
INFO Main$$DoSomething1.scala$1: blablabla ...
INFO Main$$DoSomething3.scala$1: blablabla ...
DEBUG Main$$DoSomething2.scala$1: blablabla ...
我可以用一個特徵名稱作爲記錄器的名字嗎?
這是一個很好的答案。但是我怎麼能沒有顯式的loggerName呢? – sheh