我正在尝试使用Typesafe的Scala Logging,但无法让它打印任何调试消息。我希望Scala日志记录将调试消息打印到默认屏幕,但它不起作用。一个完整的例子将是非常有帮助的或具体的建议,改变什么将是伟大的。我使用的是Scala 2.11。下面是我所做的:
libraryDependencies +=“com.typeafe.scala-日志记录”%%“scala-日志记录”% "3.1.0“
尽管我不确定这是否是必需的,但我添加了以下行,但它没有任何区别:
libraryDependencies +=“com.typeafe.scala-logging”% "scala-logging-slf4j_2.11“%”2.1.2“
导入com.typesafe.scalalogging._类MyClass扩展LazyLogging { // ...Logger.debug(“我的调试消息来了。”) // ... }
%d{HH:mm:ss.SSS} %thread%-5level%记录器{36}- %msg%n
发布于 2015-03-16 14:47:48
IIRC默认情况下,它将从信息级别开始打印消息。要改变这一点,您需要将logback.xml
文件放入src/main/resources
(或使用-Dlogback.configurationFile=/path/to/config.xml
JVM参数)。请参阅登录文档中的Configuration一章。
发布于 2015-08-14 14:48:19
对于那些仍然在为如何让scala-logging在sbt项目中工作而苦苦挣扎的人。他们只需要遵循以下步骤:
build.sbt
中添加以下两个依赖项:libraryDependencies += "com.typesafe.scala-logging“%% "scala-logging”% "3.1.0“libraryDependencies += "ch.qos.logback”% "logback-classic“%”1.1.2“
%d{HH:mm:ss.SSS} %thread%-5级别%记录器{36}- %msg%n /Users/您的用户名/test.log false %d{HH:mm:ss.SSS} %thread%-5级别%记录器{36}- %msg%n
LazyLogging
扩展你的Scala类或对象:导入com.typesafe.scalalogging.slf4j.LazyLogging类MyClass扩展了LazyLogging {logger.debug(“这很方便;-)") }
附注:顺便说一下,特征记录器已经是特征LazyLogging的成员了,所以你不需要创建它(如上面的例子所示)。
发布于 2015-03-16 11:37:24
已经很接近了,但是您必须在apply
方法中使用SLF4J记录器来声明一个logger
实例,用于com.typesafe.scalalogging
中的Logger
配套工具。在您的build.sbt
中包括:
libraryDependencies += "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0"
libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.10"
然后这将会起作用:
import com.typesafe.scalalogging._
import org.slf4j.LoggerFactory
class MyClass extends LazyLogging {
// ...
val logger = Logger(LoggerFactory.getLogger(this.getClass))
logger.debug("Here goes my debug message.")
// ...
}
Here是LoggerFactory的参考资料。希望它能帮上忙!
https://stackoverflow.com/questions/29065603
复制相似问题