sl4j simple logging for scala singleton



我正在尝试实现sl4j简单日志记录对于/在 Scala 单例内部,但似乎没有工作。

例如,如果尝试此操作,代码将运行,但是没有日志记录:

class Driver{
  Foo.showLogs()
}
import org.slf4j.Logger
import org.slf4j.LoggerFactory
object Foo {
  protected val log = LoggerFactory.getLogger(getClass.getName)
  showLogs() {
    val lst = (1,2,3,4,5)
    for(l <- lst) {
      log.info("List item :"  + l )
    }   
  }
}

我正在尝试做的事情甚至可能吗? 提前谢谢!!

它应该记录。如果没有,则由于日志记录配置。

  1. 类路径上是否有SLF4J绑定,例如Logback或SLF4J-Simple?

  2. 如果没有,应会看到有关缺少绑定的警告消息。

  3. 如果这样做,则会将其配置为不显示Foo$INFO日志(这将是此处记录器的名称(。

旁注:log.info("List item :" + l )是不好的做法。将log.info("List item :{}", l)log.info("List item :$l")与 Scala 包装器库(如 https://github.com/typesafehub/scala-logging(一起使用。

最新更新