SLF4J:未检测到项目中的simplelogger.properties

时间:2017-03-06 20:40:47

标签: scala log4j sbt slf4j spark-submit

我正在为Grizzled-SLF4J / SLF4J / Spark项目使用ScalaSBT的包装)。属性文件simplelogger.properties已放置在src/main/resources中。但是,当我使用property file运行应用程序时,未检测到spark-submit。无论我对property file所做的更改都没有得到反映,似乎使用了属性的某些default值(在我的情况下,只显示WARN / ERROR条消息) 。

这是我的 build.sbt

lazy val root = (project in file(".")).
  settings(
    name := "myprojectname",
    ...,
    libraryDependencies ++= Seq(
     "org.clapper" %% "grizzled-slf4j" % "1.3.0",
     "org.slf4j" % "slf4j-simple" % "1.7.22",
     "org.slf4j" % "slf4j-api" % "1.7.22",
    )
 )

simplelogger.properties

org.slf4j.simpleLogger.logFile         = System.err
org.slf4j.simpleLogger.defaultLogLevel = debug
org.slf4j.simpleLogger.showDateTime    = false
org.slf4j.simpleLogger.dateTimeFormat  = yyyy'/'MM'/'dd' 'HH':'mm':'ss'-'S
org.slf4j.simpleLogger.showThreadName  = true
org.slf4j.simpleLogger.showLogName     = true
org.slf4j.simpleLogger.showShortLogName= false
org.slf4j.simpleLogger.levelInBrackets = true

我在这里错过了什么吗?

PS:我确实检查了根目录中的Jarsimplelogger.properties

2 个答案:

答案 0 :(得分:0)

不是将其添加到根目录,而是将其添加到resources代码文件夹旁边的scala下:

/
  src
  main
    resources
      simplelogger.properties
    scala

显然,这不仅对simplelogger.properties有效,而且对您在运行时在类路径中所需的任何其他类型的文件都有效。

答案 1 :(得分:0)

在尝试使用 System.setProperty(org.slf4j.simpleLogger.defaultLogLevel,"DEBUG"); 手动设置属性之前,我遇到了同样的困难 我注意到这些属性不存在于 slf4j-simple-1.6.1.jar

确保至少获得 slf4j-simple-1.7.25.jar 。之前的版本不支持属性

<块引用>

org.slf4j.simpleLogger.logFile

<块引用>

org.slf4j.simpleLogger.defaultLogLevel

升级到 1.7.25 从 simplelogger.properties 获取简单的记录器配置