Я пытаюсь использовать scala-logging для входа в проект Scala / Spark, работающий в Linux и запущенный в кластере Spark с помощью spark-submit. Вывод журнала в stdout работает хорошо, но файл журнала вообще не создается.
Зависимости в файле build.sbt выглядят так:
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion % "provided",
"org.apache.spark" %% "spark-sql" % sparkVersion % "provided",
"com.google.guava" % "guava" % "28.1-jre"
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2",
"org.scalatest" %% "scalatest" % "3.1.0-RC3" % "test",
"com.ibm.icu" % "icu4j" % "64.2",
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.2",
"ch.qos.logback" % "logback-classic" % "1.2.3",
"com.typesafe" % "config" % "1.3.4",
"mysql" % "mysql-connector-java" % "8.0.17",
"com.zaxxer" % "HikariCP" % "3.4.0"
)
Файл logback.xml, расположенный в каталоге ресурсов, выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/myProjectName.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- Daily rollover -->
<fileNamePattern>logs/myProjectName.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- Keep 10 days' worth of history -->
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Configure so that it outputs to both console and log file -->
<root level="DEBUG">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
Вот так я создаю регистратор в коде scala:
import com.typesafe.scalalogging.Logger
val LOGGER: Logger = Logger[MyClassName]
Вот так я начинаю обработку сspark-submit:
/opt/Spark/spark/bin/spark-submit --name MyProject --master 'spark://myHost.com:7077' --class com.mycompany.mypack.MyClassName --driver-memory 15G --num-executors 2 --executor-cores 6 --executor-memory 30G --conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2 /opt/myFolder/myProject-assembly.jar
Чего мне не хватает?
Спасибо