在sbt模块应用程序中设置scala日志记录

在sbt模块应用程序中设置scala日志记录,scala,playframework,slf4j,logback,Scala,Playframework,Slf4j,Logback,我有一个sbt项目,其中一个项目也是游戏应用程序,因此: /db /services /web (play) 因此,在PlayWeb应用程序中,日志记录工作正常,我可以在application.conf文件中设置日志级别 在my/services和/db项目中,当前未设置日志记录。 我喜欢,所以我需要帮助安装 到目前为止,我的依赖项中有: // logging val slf4j = "org.slf4j" % "slf4j-api" % slf4jVersion val scalaL

我有一个sbt项目,其中一个项目也是游戏应用程序,因此:

/db
/services
/web (play)
因此,在PlayWeb应用程序中,日志记录工作正常,我可以在application.conf文件中设置日志级别

在my/services和/db项目中,当前未设置日志记录。 我喜欢,所以我需要帮助安装

到目前为止,我的依赖项中有:

// logging
  val slf4j = "org.slf4j" % "slf4j-api" % slf4jVersion
  val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging-slf4j" % scalaLoggingVersion
  val logbackCore = "ch.qos.logback" % "logback-core" % logbackVersion
  val logbackClassic = "ch.qos.logback" % "logback-classic" % logbackVersion
现在,我转到我的/services sbt项目中的一个对象并尝试:

object SomeThing extends LazyLogging {

}
  • 我正在使用IntelliJ,它没有导入任何内容,所以我不确定我应该在这里做什么

  • 另外,如果我想在类中显式地创建一个记录器,我需要导入和声明什么

  • 有人能解释一下scala日志是如何工作的吗?

    据我所知,它似乎使用了与sl4j相同的api,但它使用了宏,如果禁用了日志记录级别,则不必执行字符串插值,从而提高了效率。但它需要(就像sl4j)和实际的日志框架,在本例中,我使用的是logback(与play相同)。

    试试:


    我想我有这一部分很好,我需要一个例子,说明如何创建一个使用trait进行日志记录的类,以及一个显式定义日志记录的类(请使用导入,因为有时候IntelliJ不起作用)
    libraryDependencies in Global ++= Seq(
      "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0",
      "ch.qos.logback" % "logback-classic" % "1.1.2",
    )