scala-logging не создает файл журнала - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь использовать 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

Чего мне не хватает?

Спасибо

...