首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >完整的"Scala日志“示例

完整的"Scala日志“示例
EN

Stack Overflow用户
提问于 2015-03-16 04:08:04
回答 3查看 43.9K关注 0票数 37

我正在尝试使用Typesafe的Scala Logging,但无法让它打印任何调试消息。我希望Scala日志记录将调试消息打印到默认屏幕,但它不起作用。一个完整的例子将是非常有帮助的或具体的建议,改变什么将是伟大的。我使用的是Scala 2.11。下面是我所做的:

  1. I将依赖项添加到build.sbt:

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(“我的调试消息来了。”) // ... }

  • 我发现了./src/main/

  • /logback.xml文件,但我不确定是哪个模块安装了它,也不确定它是否相关。我将日志级别更改为"debug“,但没有效果。

%d{HH:mm:ss.SSS} %thread%-5level%记录器{36}- %msg%n

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-16 14:47:48

IIRC默认情况下,它将从信息级别开始打印消息。要改变这一点,您需要将logback.xml文件放入src/main/resources (或使用-Dlogback.configurationFile=/path/to/config.xml JVM参数)。请参阅登录文档中的Configuration一章。

票数 12
EN

Stack Overflow用户

发布于 2015-08-14 14:48:19

对于那些仍然在为如何让scala-logging在sbt项目中工作而苦苦挣扎的人。他们只需要遵循以下步骤:

  1. 在您的build.sbt中添加以下两个依赖项:

libraryDependencies += "com.typesafe.scala-logging“%% "scala-logging”% "3.1.0“libraryDependencies += "ch.qos.logback”% "logback-classic“%”1.1.2“

  • 在/src//logback.xml/中创建一个logback.xml文件,并将下面提到的内容粘贴到该文件中。

%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的成员了,所以你不需要创建它(如上面的例子所示)。

票数 68
EN

Stack Overflow用户

发布于 2015-03-16 11:37:24

已经很接近了,但是您必须在apply方法中使用SLF4J记录器来声明一个logger实例,用于com.typesafe.scalalogging中的Logger配套工具。在您的build.sbt中包括:

代码语言:javascript
复制
libraryDependencies += "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0"

libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.10"

然后这将会起作用:

代码语言:javascript
复制
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的参考资料。希望它能帮上忙!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29065603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档