Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 不显示依赖项日志_Scala_Logging_Playframework_Slf4j_Logback - Fatal编程技术网

Scala 不显示依赖项日志

Scala 不显示依赖项日志,scala,logging,playframework,slf4j,logback,Scala,Logging,Playframework,Slf4j,Logback,我有一个Play项目,名为FrontEnd,它的依赖关系是另一个名为Logic的项目 在逻辑项目的build.sbt文件中,我添加了slf4j和logback: name := "Logic" version := "1.0-SNAPSHOT" scalaVersion := "2.11.1" seq(bintrayResolverSettings:_*) libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.5" librar

我有一个Play项目,名为FrontEnd,它的依赖关系是另一个名为Logic的项目

在逻辑项目的
build.sbt
文件中,我添加了slf4j和logback:

name := "Logic"

version := "1.0-SNAPSHOT"

scalaVersion := "2.11.1"

seq(bintrayResolverSettings:_*)

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

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.2"
我还在Logic项目中创建了一个日志特性

package logic.logging

import ch.qos.logback.classic.Logger
import org.slf4j.LoggerFactory

trait Logging {
  protected val logger = LoggerFactory.getLogger(this.getClass().getSimpleName().stripSuffix("$"))
}
然后,我将Logic项目包含在前端项目中:

name := "Frontend"

version := "1.0"

scalaVersion := "2.11.1"

lazy val logicProj = RootProject(file("../logic"))

lazy val root = (project in file(".")).enablePlugins(PlayScala).dependsOn(logicProj)
最后,为了测试日志功能,我在前端内部创建了一个全局对象

import play.api.GlobalSettings
import play.api.Application
import play.api.Logger
import logic.logging.Logging

object Global extends GlobalSettings with Logging {
  override def onStart(app: Application) = {
    logger.info("Logic's logger: Application is started!!!")
    Logger.info("FrontEnd's logger: Application is started!!!")
  }
}
控制台上的输出为:

[info] application - FrontEnd's logger: Application is started!!!
[info] play - Application started (Dev)
换句话说,logic.logging.logging中的记录器无法登录到控制台。我想知道是否有人知道为什么以及如何修复它

PS:根据,它可能与多个绑定有关,即逻辑和前端播放库中的logback。但是,我不想从逻辑中删除logback,因为项目本身是一个独立的控制台应用程序,需要将输出记录到控制台


编辑:即使从Logic的
build.sbt
中删除
libraryDependencies+=“ch.qos.logback”%”logback classic“%”1.1.2“
,问题仍然存在。

最后,我发现日志没有显示,因为它没有“注册”到Play的日志配置中。可以通过在
application logger.xml
文件的
configuration
标记中添加以下行来修复此问题:

<logger name="logger" level="INFO" />
其工作原理如下:

[info] logger.Global - Logic's logger: Application is started!!!
[info] application - FrontEnd's logger: Application is started!!!
[info] logger.Global - Logic's logger: Application is started!!!
[info] application - FrontEnd's logger: Application is started!!!