3

I am using Grizzled-SLF4J (a wrapper around SLF4J) for my Spark/Scala/SBT Project. The property file simplelogger.properties has been placed in the src/main/resources. But the property file is not getting detected when I run the Application using spark-submit. Whatever the change I make to property file is not getting reflected and seems like some default values for the properties are used(In my case only WARN / ERROR messages are displayed).

Here is my 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

Am I missing something here?

PS : I did checked the Jar and simplelogger.properties is available in the root directory

Raj
  • 2,368
  • 6
  • 34
  • 52

2 Answers2

0

Instead of adding it to the root, add it under resources, next to scala code folder:

/
  src
  main
    resources
      simplelogger.properties
    scala

Obviously this is not only valid for simplelogger.properties but for any other kind of file that you want in the classpath at runtime.

juanignaciosl
  • 3,435
  • 2
  • 28
  • 28
0

I had the same struggle until I tried to set the properties manually using System.setProperty(org.slf4j.simpleLogger.defaultLogLevel,"DEBUG"); and I noticed that these properties were not present in the slf4j-simple-1.6.1.jar

Make sure to get at least slf4j-simple-1.7.25.jar . The prior versions don't support properties

org.slf4j.simpleLogger.logFile

or

org.slf4j.simpleLogger.defaultLogLevel

Upgrading to 1.7.25 picked up the simple logger config from simplelogger.properties

FMK
  • 1