From 118f587a2710087432ed82b904dd50b0b336fdb8 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 13 Dec 2017 15:45:26 +0100 Subject: [PATCH 1/9] add custom docker logging handler --- .../docker/LoggingBuildHandler.scala | 31 +++++++++++++++++++ .../docker/SparkDockerImageBuilder.scala | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala new file mode 100644 index 0000000000000..9d741c4558509 --- /dev/null +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.spark.deploy.k8s.integrationtest.docker + +import com.spotify.docker.client.ProgressHandler +import com.spotify.docker.client.exceptions.DockerException +import com.spotify.docker.client.messages.ProgressMessage + +class LoggingBuildHandler() extends ProgressHandler { + @throws[DockerException] + def progress(message: ProgressMessage) { + if (message.error != null) throw new DockerException(message.toString) + else if (message.status == null) { + println("build: {}", message) + } + } +} diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala index cf2766d81859f..0c3a8023b2f18 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala @@ -22,7 +22,7 @@ import java.nio.file.Paths import scala.collection.JavaConverters._ -import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates, LoggingBuildHandler} +import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates} import org.apache.http.client.utils.URIBuilder import org.scalatest.concurrent.{Eventually, PatienceConfiguration} import org.scalatest.time.{Minutes, Seconds, Span} From fdd9b5c5cefba289c8e612b555a924f6a66027cc Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 13 Dec 2017 15:56:16 +0100 Subject: [PATCH 2/9] Add log on image build --- .../deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala | 2 +- .../k8s/integrationtest/docker/SparkDockerImageBuilder.scala | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala index 9d741c4558509..f44ea630b4dc5 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -25,7 +25,7 @@ class LoggingBuildHandler() extends ProgressHandler { def progress(message: ProgressMessage) { if (message.error != null) throw new DockerException(message.toString) else if (message.status == null) { - println("build: {}", message) + println("build: {}", message.stream()) } } } diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala index 0c3a8023b2f18..ce420acc0a964 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala @@ -113,6 +113,7 @@ private[spark] class SparkDockerImageBuilder } private def buildImage(name: String, dockerFile: String): Unit = { + log.info(s"Building docker image $name from Dockerfile $dockerFile") dockerClient.build( DOCKER_BUILD_PATH, name, From 6c8851cf12213d8046b38c69def1198aef6e1e26 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 13 Dec 2017 16:05:20 +0100 Subject: [PATCH 3/9] use println instead of log --- .../deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala | 2 +- .../k8s/integrationtest/docker/SparkDockerImageBuilder.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala index f44ea630b4dc5..5328156a46929 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -25,7 +25,7 @@ class LoggingBuildHandler() extends ProgressHandler { def progress(message: ProgressMessage) { if (message.error != null) throw new DockerException(message.toString) else if (message.status == null) { - println("build: {}", message.stream()) + println(s"Docker build: ${message.stream()}") } } } diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala index ce420acc0a964..a88a5bc26c764 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala @@ -113,7 +113,7 @@ private[spark] class SparkDockerImageBuilder } private def buildImage(name: String, dockerFile: String): Unit = { - log.info(s"Building docker image $name from Dockerfile $dockerFile") + println(s"Building docker image $name from Dockerfile $dockerFile") dockerClient.build( DOCKER_BUILD_PATH, name, From 9ab9b02eaff122de6380806b75cc1c95c2ecd632 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sun, 24 Dec 2017 11:03:05 +0100 Subject: [PATCH 4/9] use slf4j to log --- .../kubernetes/integration-tests/pom.xml | 11 +++++++ ...oggingBuildHandler.scala => Logging.scala} | 32 +++++++++++-------- .../docker/SparkDockerImageBuilder.scala | 12 +++---- 3 files changed, 34 insertions(+), 21 deletions(-) rename resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/{docker/LoggingBuildHandler.scala => Logging.scala} (54%) diff --git a/resource-managers/kubernetes/integration-tests/pom.xml b/resource-managers/kubernetes/integration-tests/pom.xml index b91c239b6abe7..bab7167112354 100644 --- a/resource-managers/kubernetes/integration-tests/pom.xml +++ b/resource-managers/kubernetes/integration-tests/pom.xml @@ -26,6 +26,7 @@ spark-kubernetes-integration-tests_2.11 + 1.7.24 kubernetes-integration-tests jar @@ -42,6 +43,16 @@ spark-core_${scala.binary.version} ${project.version} + + org.slf4j + slf4j-log4j12 + ${slf4j-log4j12.version} + test + + + log4j + log4j + org.apache.spark spark-kubernetes_${scala.binary.version} diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/Logging.scala similarity index 54% rename from resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala rename to resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/Logging.scala index 5328156a46929..459c0a4138b86 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/Logging.scala @@ -14,18 +14,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.spark.deploy.k8s.integrationtest.docker - -import com.spotify.docker.client.ProgressHandler -import com.spotify.docker.client.exceptions.DockerException -import com.spotify.docker.client.messages.ProgressMessage - -class LoggingBuildHandler() extends ProgressHandler { - @throws[DockerException] - def progress(message: ProgressMessage) { - if (message.error != null) throw new DockerException(message.toString) - else if (message.status == null) { - println(s"Docker build: ${message.stream()}") - } - } +package org.apache.spark.deploy.k8s.integrationtest + +import org.apache.log4j.{Logger, LogManager, Priority} + +trait Logging { + + private val log: Logger = LogManager.getLogger(this.getClass) + + protected def logDebug(msg: => String) = if (log.isDebugEnabled) log.debug(msg) + + protected def logInfo(msg: => String) = if (log.isInfoEnabled) log.info(msg) + + protected def logWarning(msg: => String) = if (log.isEnabledFor(Priority.WARN)) log.warn(msg) + + protected def logWarning(msg: => String, throwable: Throwable) = + if (log.isEnabledFor(Priority.WARN)) log.warn(msg, throwable) + + protected def logError(msg: => String) = if (log.isEnabledFor(Priority.ERROR)) log.error(msg) } diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala index a88a5bc26c764..788b71ca90534 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala @@ -21,17 +21,13 @@ import java.net.URI import java.nio.file.Paths import scala.collection.JavaConverters._ - -import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates} +import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates, LoggingBuildHandler} import org.apache.http.client.utils.URIBuilder +import org.apache.spark.deploy.k8s.integrationtest.Logging import org.scalatest.concurrent.{Eventually, PatienceConfiguration} import org.scalatest.time.{Minutes, Seconds, Span} - -import org.apache.spark.internal.Logging import org.apache.spark.util.RedirectThread - - private[spark] class SparkDockerImageBuilder (private val dockerEnv: Map[String, String]) extends Logging{ @@ -113,11 +109,13 @@ private[spark] class SparkDockerImageBuilder } private def buildImage(name: String, dockerFile: String): Unit = { - println(s"Building docker image $name from Dockerfile $dockerFile") + logInfo(s"Start building docker image $name from Dockerfile $dockerFile") dockerClient.build( DOCKER_BUILD_PATH, name, dockerFile, new LoggingBuildHandler()) + logInfo(s"Built $name docker image") } + } From fec57fc60c6a1a3a27e0f06aa9434999f49c5da5 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sun, 24 Dec 2017 11:23:57 +0100 Subject: [PATCH 5/9] tune log4j to display log message on the console --- .../src/test/resources/log4j.properties | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties index 866126bc3c1c2..cf06a21ace7c7 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties +++ b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties @@ -15,8 +15,14 @@ # limitations under the License. # -# Set everything to be logged to the file target/integration-tests.log -log4j.rootCategory=INFO, file +# Set everything to be logged to the file target/integration-tests.log and the console +log4j.rootCategory=INFO, file, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n + log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.append=true log4j.appender.file.file=target/integration-tests.log From a55d8b27364a044486e1302c76046de6ccc6d7f5 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 2 Jan 2018 19:37:51 +0100 Subject: [PATCH 6/9] use custom LoggingBuildHandler --- .../docker/LoggingBuildHandler.scala | 31 +++++++++++++++++++ .../docker/SparkDockerImageBuilder.scala | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala new file mode 100644 index 0000000000000..a0ca472b49d65 --- /dev/null +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.spark.deploy.k8s.integrationtest.docker + +import com.spotify.docker.client.ProgressHandler +import com.spotify.docker.client.exceptions.DockerException +import com.spotify.docker.client.messages.ProgressMessage + +class LoggingBuildHandler() extends ProgressHandler { + @throws[DockerException] + def progress(message: ProgressMessage) { + if (message.error != null) throw new DockerException(message.toString) + else if (message.status == null) { + println("build: {}", message) + } + } +} \ No newline at end of file diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala index 788b71ca90534..156fb954f868e 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala @@ -21,7 +21,7 @@ import java.net.URI import java.nio.file.Paths import scala.collection.JavaConverters._ -import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates, LoggingBuildHandler} +import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates} import org.apache.http.client.utils.URIBuilder import org.apache.spark.deploy.k8s.integrationtest.Logging import org.scalatest.concurrent.{Eventually, PatienceConfiguration} From 742520ac0a020611e193c08dee1d3f4370fdf496 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 10 Jan 2018 17:12:53 +0100 Subject: [PATCH 7/9] use log instead of println --- .../k8s/integrationtest/docker/LoggingBuildHandler.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala index a0ca472b49d65..30409770c1fe8 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -19,13 +19,15 @@ package org.apache.spark.deploy.k8s.integrationtest.docker import com.spotify.docker.client.ProgressHandler import com.spotify.docker.client.exceptions.DockerException import com.spotify.docker.client.messages.ProgressMessage +import org.apache.log4j.{Logger, LogManager} class LoggingBuildHandler() extends ProgressHandler { + private val log: Logger = LogManager.getLogger(this.getClass) @throws[DockerException] def progress(message: ProgressMessage) { if (message.error != null) throw new DockerException(message.toString) else if (message.status == null) { - println("build: {}", message) + log.info(s"build: $message") } } } \ No newline at end of file From 5ee6eaa86531d0be0c69bdcf2972aeb9859671dd Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 11 Jan 2018 10:59:42 +0100 Subject: [PATCH 8/9] remove logging to console --- .../src/test/resources/log4j.properties | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties index cf06a21ace7c7..866126bc3c1c2 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties +++ b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j.properties @@ -15,14 +15,8 @@ # limitations under the License. # -# Set everything to be logged to the file target/integration-tests.log and the console -log4j.rootCategory=INFO, file, stdout - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.Target=System.out -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n - +# Set everything to be logged to the file target/integration-tests.log +log4j.rootCategory=INFO, file log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.append=true log4j.appender.file.file=target/integration-tests.log From 3307860153633ba4e92f17b95b50322a1c9de93d Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 11 Jan 2018 10:59:58 +0100 Subject: [PATCH 9/9] use the Logging trait instead of plain log4j --- .../spark/deploy/k8s/integrationtest/KubernetesSuite.scala | 7 +++++++ .../k8s/integrationtest/docker/LoggingBuildHandler.scala | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesSuite.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesSuite.scala index 50ee46c93b592..c6f757b9908cb 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesSuite.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesSuite.scala @@ -38,6 +38,13 @@ import org.apache.spark.deploy.k8s.submit.{Client, ClientArguments, JavaMainAppR import org.apache.spark.launcher.SparkLauncher import org.apache.spark.util.Utils +/** + * This is a long running Suite. + * + * Console output will be empty while docker images are built. + * + * More logs is printed in ./target/integration-tests.log + */ private[spark] class KubernetesSuite extends SparkFunSuite with BeforeAndAfter { import KubernetesSuite._ private val testBackend = IntegrationTestBackendFactory.getTestBackend() diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala index 30409770c1fe8..164ed08028613 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/LoggingBuildHandler.scala @@ -19,15 +19,14 @@ package org.apache.spark.deploy.k8s.integrationtest.docker import com.spotify.docker.client.ProgressHandler import com.spotify.docker.client.exceptions.DockerException import com.spotify.docker.client.messages.ProgressMessage -import org.apache.log4j.{Logger, LogManager} +import org.apache.spark.deploy.k8s.integrationtest.Logging -class LoggingBuildHandler() extends ProgressHandler { - private val log: Logger = LogManager.getLogger(this.getClass) +class LoggingBuildHandler() extends ProgressHandler with Logging { @throws[DockerException] def progress(message: ProgressMessage) { if (message.error != null) throw new DockerException(message.toString) else if (message.status == null) { - log.info(s"build: $message") + logInfo(s"build: $message") } } } \ No newline at end of file