This is an automated email from the ASF dual-hosted git repository.

viirya pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 9f6062a  [SPARK-6305][BUILD][FOLLOWUP] Some cleanups for log4j 
properties
9f6062a is described below

commit 9f6062af296c71fc81ef2dd6b50982bcb48aa839
Author: Liang-Chi Hsieh <[email protected]>
AuthorDate: Mon Dec 20 14:39:24 2021 -0800

    [SPARK-6305][BUILD][FOLLOWUP] Some cleanups for log4j properties
    
    ### What changes were proposed in this pull request?
    
    This is a followup of SPARK-6305. Some places in build files (maven and 
sbt) which remove log4j properties files should be updated. Some tests 
programmingly write log4j properties should be updated to log4j 2 syntax too.
    
    ### Why are the changes needed?
    
    To clean up build files and migrate some tests to log4j2 syntax.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No
    
    ### How was this patch tested?
    
    Pass all tests.
    
    Closes #34959 from viirya/log4j2_followup.
    
    Authored-by: Liang-Chi Hsieh <[email protected]>
    Signed-off-by: Liang-Chi Hsieh <[email protected]>
---
 .github/workflows/benchmark.yml                    |  4 ++--
 conf/log4j2.properties.template                    |  2 +-
 docs/configuration.md                              |  2 +-
 external/kafka-0-10-assembly/pom.xml               |  2 +-
 external/kinesis-asl-assembly/pom.xml              |  2 +-
 project/SparkBuild.scala                           |  2 +-
 .../kubernetes/integration-tests/pom.xml           |  2 +-
 .../resources/log-config-test-log4j.properties     | 13 +++++++-----
 .../integrationtest/SparkConfPropagateSuite.scala  |  4 ++--
 .../spark/deploy/yarn/BaseYarnClusterSuite.scala   | 24 ++++++++++++++--------
 .../spark/deploy/yarn/YarnClusterSuite.scala       | 13 +++++++-----
 .../thriftserver/HiveThriftServer2Suites.scala     | 12 ++++++-----
 12 files changed, 48 insertions(+), 34 deletions(-)

diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index 1978e6f..91e1682 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -101,8 +101,8 @@ jobs:
       run: |
         ./build/sbt -Pyarn -Pmesos -Pkubernetes -Phive -Phive-thriftserver 
-Phadoop-cloud -Pkinesis-asl -Pspark-ganglia-lgpl test:package
         # Make less noisy
-        cp conf/log4j.properties.template conf/log4j.properties
-        sed -i 's/log4j.rootCategory=INFO, console/log4j.rootCategory=WARN, 
console/g' conf/log4j.properties
+        cp conf/log4j2.properties.template conf/log4j2.properties
+        sed -i 's/rootLogger.level = info/rootLogger.level = warn/g' 
conf/log4j2.properties
         # In benchmark, we use local as master so set driver memory only. Note 
that GitHub Actions has 7 GB memory limit.
         bin/spark-submit \
           --driver-memory 6g --class org.apache.spark.benchmark.Benchmarks \
diff --git a/conf/log4j2.properties.template b/conf/log4j2.properties.template
index fbc2333..85b4f67 100644
--- a/conf/log4j2.properties.template
+++ b/conf/log4j2.properties.template
@@ -17,7 +17,7 @@
 
 # Set everything to be logged to the console
 rootLogger.level = info
-rootLogger.appenderRef.file.ref = console
+rootLogger.appenderRef.stdout.ref = console
 
 appender.console.type = Console
 appender.console.name = console
diff --git a/docs/configuration.md b/docs/configuration.md
index 89871cb..3d78870 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -3081,7 +3081,7 @@ Note: When running Spark on YARN in `cluster` mode, 
environment variables need t
 
 Spark uses [log4j](http://logging.apache.org/log4j/) for logging. You can 
configure it by adding a
 `log4j.properties` file in the `conf` directory. One way to start is to copy 
the existing
-`log4j.properties.template` located there.
+`log4j2.properties.template` located there.
 
 By default, Spark adds 1 record to the MDC (Mapped Diagnostic Context): 
`mdc.taskName`, which shows something
 like `task 1.0 in stage 0.0`. You can add `%X{mdc.taskName}` to your 
patternLayout in
diff --git a/external/kafka-0-10-assembly/pom.xml 
b/external/kafka-0-10-assembly/pom.xml
index 4864c62..0c8194c 100644
--- a/external/kafka-0-10-assembly/pom.xml
+++ b/external/kafka-0-10-assembly/pom.xml
@@ -165,7 +165,7 @@
                 <resource>reference.conf</resource>
               </transformer>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
-                <resource>log4j.properties</resource>
+                <resource>log4j2.properties</resource>
               </transformer>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/>
diff --git a/external/kinesis-asl-assembly/pom.xml 
b/external/kinesis-asl-assembly/pom.xml
index 6d3a4fa..01541eb 100644
--- a/external/kinesis-asl-assembly/pom.xml
+++ b/external/kinesis-asl-assembly/pom.xml
@@ -205,7 +205,7 @@
                 <resource>reference.conf</resource>
               </transformer>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
-                <resource>log4j.properties</resource>
+                <resource>log4j2.properties</resource>
               </transformer>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
               <transformer 
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/>
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index d9e63e8..9cb9fd7 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -871,7 +871,7 @@ object Assembly {
                                                                => 
MergeStrategy.discard
       case m if m.toLowerCase(Locale.ROOT).matches("meta-inf.*\\.sf$")
                                                                => 
MergeStrategy.discard
-      case "log4j.properties"                                  => 
MergeStrategy.discard
+      case "log4j2.properties"                                 => 
MergeStrategy.discard
       case m if m.toLowerCase(Locale.ROOT).startsWith("meta-inf/services/")
                                                                => 
MergeStrategy.filterDistinctLines
       case "reference.conf"                                    => 
MergeStrategy.concat
diff --git a/resource-managers/kubernetes/integration-tests/pom.xml 
b/resource-managers/kubernetes/integration-tests/pom.xml
index 9c6737a..4c5f14b 100644
--- a/resource-managers/kubernetes/integration-tests/pom.xml
+++ b/resource-managers/kubernetes/integration-tests/pom.xml
@@ -145,7 +145,7 @@
           <argLine>-ea -Xmx4g -XX:ReservedCodeCacheSize=1g 
${extraScalaTestArgs}</argLine>
           <stderr/>
           <systemProperties>
-            
<log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
+            
<log4j.configurationFile>file:src/test/resources/log4j2.properties</log4j.configurationFile>
             <java.awt.headless>true</java.awt.headless>
             
<spark.kubernetes.test.imageTagFile>${spark.kubernetes.test.imageTagFile}</spark.kubernetes.test.imageTagFile>
             
<spark.kubernetes.test.unpackSparkDir>${spark.kubernetes.test.unpackSparkDir}</spark.kubernetes.test.unpackSparkDir>
diff --git 
a/resource-managers/kubernetes/integration-tests/src/test/resources/log-config-test-log4j.properties
 
b/resource-managers/kubernetes/integration-tests/src/test/resources/log-config-test-log4j.properties
index d3e13d8..17b8d59 100644
--- 
a/resource-managers/kubernetes/integration-tests/src/test/resources/log-config-test-log4j.properties
+++ 
b/resource-managers/kubernetes/integration-tests/src/test/resources/log-config-test-log4j.properties
@@ -16,8 +16,11 @@
 #
 
 # This log4j config file is for integration test SparkConfPropagateSuite.
-log4j.rootCategory=DEBUG, console
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c: 
%m%n
+rootLogger.level = debug
+rootLogger.appenderRef.stdout.ref = console
+
+appender.console.type = Console
+appender.console.name = console
+appender.console.target = SYSTEM_ERR
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c: %m%n
diff --git 
a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/SparkConfPropagateSuite.scala
 
b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/SparkConfPropagateSuite.scala
index 3651398b..d51f4d7 100644
--- 
a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/SparkConfPropagateSuite.scala
+++ 
b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/SparkConfPropagateSuite.scala
@@ -37,8 +37,8 @@ private[spark] trait SparkConfPropagateSuite { k8sSuite: 
KubernetesSuite =>
     try {
       Files.write(new File(logConfFilePath).toPath, content.getBytes)
 
-      sparkAppConf.set("spark.driver.extraJavaOptions", "-Dlog4j.debug")
-      sparkAppConf.set("spark.executor.extraJavaOptions", "-Dlog4j.debug")
+      sparkAppConf.set("spark.driver.extraJavaOptions", "-Dlog4j2.debug")
+      sparkAppConf.set("spark.executor.extraJavaOptions", "-Dlog4j2.debug")
       sparkAppConf.set("spark.kubernetes.executor.deleteOnTermination", 
"false")
 
       val log4jExpectedLog =
diff --git 
a/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/BaseYarnClusterSuite.scala
 
b/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/BaseYarnClusterSuite.scala
index 4189423..f92bcdd 100644
--- 
a/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/BaseYarnClusterSuite.scala
+++ 
b/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/BaseYarnClusterSuite.scala
@@ -47,15 +47,21 @@ abstract class BaseYarnClusterSuite
   // log4j configuration for the YARN containers, so that their output is 
collected
   // by YARN instead of trying to overwrite unit-tests.log.
   protected val LOG4J_CONF = """
-    |log4j.rootCategory=DEBUG, console
-    |log4j.appender.console=org.apache.log4j.ConsoleAppender
-    |log4j.appender.console.target=System.err
-    |log4j.appender.console.layout=org.apache.log4j.PatternLayout
-    |log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p 
%c{1}: %m%n
-    |log4j.logger.org.apache.hadoop=WARN
-    |log4j.logger.org.eclipse.jetty=WARN
-    |log4j.logger.org.mortbay=WARN
-    |log4j.logger.org.sparkproject.jetty=WARN
+    |rootLogger.level = debug
+    |rootLogger.appenderRef.stdout.ref = console
+    |appender.console.type = Console
+    |appender.console.name = console
+    |appender.console.target = SYSTEM_ERR
+    |appender.console.layout.type = PatternLayout
+    |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
+    |logger.jetty.name = org.sparkproject.jetty
+    |logger.jetty.level = warn
+    |logger.eclipse.name = org.eclipse.jetty
+    |logger.eclipse.level = warn
+    |logger.hadoop.name = org.apache.hadoop
+    |logger.hadoop.level = warn
+    |logger.mortbay.name = org.mortbay
+    |logger.mortbay.level = warn
     """.stripMargin
 
   private var yarnCluster: MiniYARNCluster = _
diff --git 
a/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/YarnClusterSuite.scala
 
b/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/YarnClusterSuite.scala
index 9fd3c70..1c20723 100644
--- 
a/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/YarnClusterSuite.scala
+++ 
b/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/YarnClusterSuite.scala
@@ -295,10 +295,12 @@ class YarnClusterSuite extends BaseYarnClusterSuite {
     val log4jConf = new File(tempDir, "log4j.properties")
     val logOutFile = new File(tempDir, "logs")
     Files.write(
-      s"""log4j.rootCategory=DEBUG,file
-         |log4j.appender.file=org.apache.log4j.FileAppender
-         |log4j.appender.file.file=$logOutFile
-         |log4j.appender.file.layout=org.apache.log4j.PatternLayout
+      s"""rootLogger.level = debug
+         |rootLogger.appenderRef.file.ref = file
+         |appender.file.type = File
+         |appender.file.name = file
+         |appender.file.fileName = $logOutFile
+         |appender.file.layout.type = PatternLayout
          |""".stripMargin,
       log4jConf, StandardCharsets.UTF_8)
     // Since this test is trying to extract log output from the SparkSubmit 
process itself,
@@ -307,7 +309,8 @@ class YarnClusterSuite extends BaseYarnClusterSuite {
     val confDir = new File(tempDir, "conf")
     confDir.mkdir()
     val javaOptsFile = new File(confDir, "java-opts")
-    Files.write(s"-Dlog4j.configuration=file://$log4jConf\n", javaOptsFile, 
StandardCharsets.UTF_8)
+    Files.write(s"-Dlog4j.configurationFile=file://$log4jConf\n", javaOptsFile,
+      StandardCharsets.UTF_8)
 
     val result = File.createTempFile("result", null, tempDir)
     val finalState = runSpark(clientMode = false,
diff --git 
a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
 
b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
index 8e939a5..6f1a439 100644
--- 
a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
+++ 
b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
@@ -1220,11 +1220,13 @@ abstract class HiveThriftServer2TestBase extends 
SparkFunSuite with BeforeAndAft
       val tempLog4jConf = Utils.createTempDir().getCanonicalPath
 
       Files.write(
-        """log4j.rootCategory=INFO, console
-          |log4j.appender.console=org.apache.log4j.ConsoleAppender
-          |log4j.appender.console.target=System.err
-          |log4j.appender.console.layout=org.apache.log4j.PatternLayout
-          |log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd 
HH:mm:ss} %p %c{1}: %m%n
+        """rootLogger.level = info
+          |rootLogger.appenderRef.file.ref = console
+          |appender.console.type = Console
+          |appender.console.name = console
+          |appender.console.target = SYSTEM_ERR
+          |appender.console.layout.type = PatternLayout
+          |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: 
%m%n
         """.stripMargin,
         new File(s"$tempLog4jConf/log4j.properties"),
         StandardCharsets.UTF_8)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to