Scalalogging在sbt playproject中不能用于记录到stdout
我的sbt基于这个伟大的答案设置:
Confused how to setup a multi project sbt project
所以在Dependencies.scala中添加了: 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 (注释掉logbackCore – 我甚至需要吗?) 已将scalaLogging和logbackClassic添加到commonDependencies(已删除其他库): val commonDependencies: Seq[ModuleID] = Seq( scalaLogging,//slf4j,//logbackCore,logbackClassic ) 同样在/ services sbt模块中,将其添加到UserServiceImpl类: import com.typesafe.scalalogging.slf4j.LazyLogging class UserServiceImpl (.....) extends SecurityService with LazyLogging { def show(.....) { logger.trace("UserService.show called") logger.debug("UserService.show called") } } 另外,在/ services / resources中,添加了logback.xml: <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%logger:%line - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration> 现在当我的播放应用程序启动时,在sbt运行时看不到日志,常规播放日志就好了我放入控制器等. 为了更好地衡量,还在/ conf文件夹中删除了一个logback.xml,但仍然没有输出. 我不确定我在这里做错了什么,希望有人可以为我澄清一些事情. 注意:我正在使用sbt来编译我的项目,但是我在IntelliJ中进行了编辑,出于某种原因,IntelliJ不能正确地拾取scala-logging.我的导入以红色突出显示,我在我的UserService’与LazyLogging’上使用的LazyLogging trait关键字为红色.我的实际日志语句如logger.debug“logger”这个词也是红色的.它似乎并没有解决这些,但sbt编译得很好. 解决方法
要使logback工作,您必须编辑application.conf并注释掉所有记录器设置:logger.root,logger.play,logger.application等.
然后将logback配置放在/ conf目录中名为application-logger.xml(名称很重要)的文件中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |