【问题标题】:SLF4J : simplelogger.properties in the project not detectedSLF4J:未检测到项目中的 simplelogger.properties
【发布时间】:2017-07-26 21:13:06
【问题描述】:

我正在为我的Spark/Scala/SBT 项目使用Grizzled-SLF4JSLF4J 的包装)。属性文件simplelogger.properties 已放在src/main/resources 中。但是当我使用spark-submit 运行应用程序时,没有检测到property file。无论我对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 在根目录中是否可用

【问题讨论】:

    标签: scala log4j sbt slf4j spark-submit


    【解决方案1】:

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

    /
      src
      main
        resources
          simplelogger.properties
        scala
    

    显然,这不仅适用于simplelogger.properties,而且适用于运行时类路径中所需的任何其他类型的文件。

    【讨论】:

      【解决方案2】:

      在尝试使用 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 获取了简单的记录器配置

      【讨论】:

        猜你喜欢
        • 2014-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 2019-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多