【发布时间】:2014-09-12 20:50:31
【问题描述】:
我有一个 sbt 项目,其中 1 个项目也是一个播放应用程序,所以:
/db
/services
/web (play)
所以在 play web 应用程序中日志记录工作正常,我可以在 application.conf 文件中设置日志级别就好了。
在我的 /services 和 /db 项目中,当前未设置日志记录。 我喜欢https://github.com/typesafehub/scala-logging,所以我需要帮助来设置它。
到目前为止,我的依赖项中有:
// 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-logging 的工作原理?
从我阅读的内容来看,它似乎使用与 sl4j 相同的 api,但它使用宏,如果禁用日志记录级别,则无需执行字符串插值,从而以某种方式使事情变得更高效。但它需要(就像 sl4j)和实际的日志框架,在这种情况下我使用的是 logback(与 play 相同)。
【问题讨论】:
标签: scala playframework slf4j logback