diff --git a/R/log4j2.properties b/R/log4j2.properties index 8ed7b9f6c8c01..689518e42807c 100644 --- a/R/log4j2.properties +++ b/R/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.eclipse.jetty diff --git a/common/kvstore/src/test/resources/log4j2.properties b/common/kvstore/src/test/resources/log4j2.properties index 9a0fd7cdc6f23..551abd8413ccd 100644 --- a/common/kvstore/src/test/resources/log4j2.properties +++ b/common/kvstore/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Silence verbose logs from 3rd-party libraries. logger.netty.name = io.netty diff --git a/common/network-common/src/test/resources/log4j2.properties b/common/network-common/src/test/resources/log4j2.properties index 9a0fd7cdc6f23..551abd8413ccd 100644 --- a/common/network-common/src/test/resources/log4j2.properties +++ b/common/network-common/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Silence verbose logs from 3rd-party libraries. logger.netty.name = io.netty diff --git a/common/network-shuffle/src/test/resources/log4j2.properties b/common/network-shuffle/src/test/resources/log4j2.properties index 4fc8e41b6f007..fbdac2fb17074 100644 --- a/common/network-shuffle/src/test/resources/log4j2.properties +++ b/common/network-shuffle/src/test/resources/log4j2.properties @@ -24,4 +24,4 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex diff --git a/conf/log4j2.properties.template b/conf/log4j2.properties.template index 99f68a8a9e98c..ab96e03baed20 100644 --- a/conf/log4j2.properties.template +++ b/conf/log4j2.properties.template @@ -19,11 +19,17 @@ rootLogger.level = info rootLogger.appenderRef.stdout.ref = console +# In the pattern layout configuration below, we specify an explicit `%ex` conversion +# pattern for logging Throwables. If this was omitted, then (by default) Log4J would +# implicitly add an `%xEx` conversion pattern which logs stacktraces with additional +# class packaging information. That extra information can sometimes add a substantial +# performance overhead, so we disable it in our default logging config. +# For more information, see SPARK-39361. 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 +appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex # Set the default spark-shell/spark-sql log level to WARN. When running the # spark-shell/spark-sql, the log level for these classes is used to overwrite diff --git a/connector/avro/src/test/resources/log4j2.properties b/connector/avro/src/test/resources/log4j2.properties index 31a235c5d8297..02746f58f4687 100644 --- a/connector/avro/src/test/resources/log4j2.properties +++ b/connector/avro/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.spark-project.jetty diff --git a/connector/docker-integration-tests/src/test/resources/log4j2.properties b/connector/docker-integration-tests/src/test/resources/log4j2.properties index a6db7b73f6f31..bc2edf5a7714b 100644 --- a/connector/docker-integration-tests/src/test/resources/log4j2.properties +++ b/connector/docker-integration-tests/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Tests that launch java subprocesses can set the "test.appender" system property to # "console" to avoid having the child process's logs overwrite the unit test's @@ -33,7 +33,7 @@ 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.SSS} %t %p %c{1}: %m%n +appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/connector/kafka-0-10-sql/src/test/resources/log4j2.properties b/connector/kafka-0-10-sql/src/test/resources/log4j2.properties index 4c2d2d0b053e3..cb454ef0498f0 100644 --- a/connector/kafka-0-10-sql/src/test/resources/log4j2.properties +++ b/connector/kafka-0-10-sql/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.spark-project.jetty diff --git a/connector/kafka-0-10-token-provider/src/test/resources/log4j2.properties b/connector/kafka-0-10-token-provider/src/test/resources/log4j2.properties index 31a235c5d8297..02746f58f4687 100644 --- a/connector/kafka-0-10-token-provider/src/test/resources/log4j2.properties +++ b/connector/kafka-0-10-token-provider/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.spark-project.jetty diff --git a/connector/kafka-0-10/src/test/resources/log4j2.properties b/connector/kafka-0-10/src/test/resources/log4j2.properties index 31a235c5d8297..02746f58f4687 100644 --- a/connector/kafka-0-10/src/test/resources/log4j2.properties +++ b/connector/kafka-0-10/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.spark-project.jetty diff --git a/connector/kinesis-asl/src/main/resources/log4j2.properties b/connector/kinesis-asl/src/main/resources/log4j2.properties index 0c0904b088b97..9538957d5ddda 100644 --- a/connector/kinesis-asl/src/main/resources/log4j2.properties +++ b/connector/kinesis-asl/src/main/resources/log4j2.properties @@ -23,14 +23,14 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %p %c{1}: %m%n%ex # Console appender appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n +appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex # Settings to quiet third party logs that are too verbose logger.jetty1.name = org.sparkproject.jetty diff --git a/connector/kinesis-asl/src/test/resources/log4j2.properties b/connector/kinesis-asl/src/test/resources/log4j2.properties index 08f43461b96ae..5f89859463a20 100644 --- a/connector/kinesis-asl/src/test/resources/log4j2.properties +++ b/connector/kinesis-asl/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/core/src/main/resources/org/apache/spark/log4j2-defaults.properties b/core/src/main/resources/org/apache/spark/log4j2-defaults.properties index cb3c70e2b8791..62eab7f3ef950 100644 --- a/core/src/main/resources/org/apache/spark/log4j2-defaults.properties +++ b/core/src/main/resources/org/apache/spark/log4j2-defaults.properties @@ -23,7 +23,7 @@ appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n +appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex # Settings to quiet third party logs that are too verbose logger.jetty.name = org.sparkproject.jetty diff --git a/core/src/main/scala/org/apache/spark/TestUtils.scala b/core/src/main/scala/org/apache/spark/TestUtils.scala index 104e98b8ae0a4..880f8856fe35f 100644 --- a/core/src/main/scala/org/apache/spark/TestUtils.scala +++ b/core/src/main/scala/org/apache/spark/TestUtils.scala @@ -431,7 +431,7 @@ private[spark] object TestUtils { val appenderBuilder = builder.newAppender("console", "CONSOLE") .addAttribute("target", ConsoleAppender.Target.SYSTEM_ERR) appenderBuilder.add(builder.newLayout("PatternLayout") - .addAttribute("pattern", "%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n")) + .addAttribute("pattern", "%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex")) builder.add(appenderBuilder) builder.add(builder.newRootLogger(level).add(builder.newAppenderRef("console"))) val configuration = builder.build() diff --git a/core/src/main/scala/org/apache/spark/util/logging/DriverLogger.scala b/core/src/main/scala/org/apache/spark/util/logging/DriverLogger.scala index 4854a84eb5680..c826cef213f53 100644 --- a/core/src/main/scala/org/apache/spark/util/logging/DriverLogger.scala +++ b/core/src/main/scala/org/apache/spark/util/logging/DriverLogger.scala @@ -42,7 +42,7 @@ private[spark] class DriverLogger(conf: SparkConf) extends Logging { private val UPLOAD_CHUNK_SIZE = 1024 * 1024 private val UPLOAD_INTERVAL_IN_SECS = 5 - private val DEFAULT_LAYOUT = "%d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n" + private val DEFAULT_LAYOUT = "%d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex" private val LOG_FILE_PERMISSIONS = new FsPermission(Integer.parseInt("770", 8).toShort) private val localLogFile: String = FileUtils.getFile( diff --git a/core/src/test/resources/log4j2.properties b/core/src/test/resources/log4j2.properties index c6cd10d639e69..ab02104c69697 100644 --- a/core/src/test/resources/log4j2.properties +++ b/core/src/test/resources/log4j2.properties @@ -23,7 +23,7 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Tests that launch java subprocesses can set the "test.appender" system property to # "console" to avoid having the child process's logs overwrite the unit test's @@ -32,7 +32,7 @@ appender.console.type = Console appender.console.name = console appender.console.target = SYSTEM_ERR appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %t: %m%n +appender.console.layout.pattern = %t: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/docs/configuration.md b/docs/configuration.md index 78a9fb33b02c6..22f16b8132eb7 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -449,7 +449,7 @@ of the most common options to set are: spark.driver.log.layout - %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n + %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex The layout for the driver logs that are synced to spark.driver.log.dfsDir. If this is not configured, it uses the layout for the first appender defined in log4j2.properties. If that is also not configured, driver logs diff --git a/graphx/src/test/resources/log4j2.properties b/graphx/src/test/resources/log4j2.properties index 08f43461b96ae..5f89859463a20 100644 --- a/graphx/src/test/resources/log4j2.properties +++ b/graphx/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/hadoop-cloud/src/test/resources/log4j2.properties b/hadoop-cloud/src/test/resources/log4j2.properties index 640ec2e630536..01a9cafafa85e 100644 --- a/hadoop-cloud/src/test/resources/log4j2.properties +++ b/hadoop-cloud/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Tests that launch java subprocesses can set the "test.appender" system property to # "console" to avoid having the child process's logs overwrite the unit test's @@ -33,7 +33,7 @@ appender.console.type = Console appender.console.name = STDERR appender.console.target = SYSTEM_ERR appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %t: %m%n +appender.console.layout.pattern = %t: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.spark_project.jetty diff --git a/launcher/src/test/resources/log4j2.properties b/launcher/src/test/resources/log4j2.properties index f7f2d7cfe4c49..62d38fbf8f734 100644 --- a/launcher/src/test/resources/log4j2.properties +++ b/launcher/src/test/resources/log4j2.properties @@ -23,13 +23,13 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex appender.childproc.type = Console appender.childproc.name = childproc appender.childproc.target = SYSTEM_ERR appender.childproc.layout.type = PatternLayout -appender.childproc.layout.pattern = %t: %m%n +appender.childproc.layout.pattern = %t: %m%n%ex appender.outputredirtest.type = LogAppender appender.outputredirtest.name = outputredirtest diff --git a/mllib/src/test/resources/log4j2.properties b/mllib/src/test/resources/log4j2.properties index 101a732ea970e..4c0b6e675279a 100644 --- a/mllib/src/test/resources/log4j2.properties +++ b/mllib/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/repl/src/test/resources/log4j2.properties b/repl/src/test/resources/log4j2.properties index 2654a3983a64f..b644dd5f7b9b2 100644 --- a/repl/src/test/resources/log4j2.properties +++ b/repl/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = file appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/repl/src/test/scala/org/apache/spark/repl/ReplSuite.scala b/repl/src/test/scala/org/apache/spark/repl/ReplSuite.scala index 2ff2120625bdc..69e1273f5fa98 100644 --- a/repl/src/test/scala/org/apache/spark/repl/ReplSuite.scala +++ b/repl/src/test/scala/org/apache/spark/repl/ReplSuite.scala @@ -285,7 +285,7 @@ class ReplSuite extends SparkFunSuite with BeforeAndAfterAll { |appender.console.target = SYSTEM_ERR |appender.console.follow = true |appender.console.layout.type = PatternLayout - |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n + |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex | |# Set the log level for this class to ERROR same as the default setting. |logger.repl.name = org.apache.spark.repl.Main diff --git a/resource-managers/kubernetes/core/src/test/resources/log4j2.properties b/resource-managers/kubernetes/core/src/test/resources/log4j2.properties index 712e6d6c30cb6..210405374f099 100644 --- a/resource-managers/kubernetes/core/src/test/resources/log4j2.properties +++ b/resource-managers/kubernetes/core/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from a few verbose libraries. logger.jersey.name = com.sun.jersey 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 17b8d598ac6f8..4aeea88625190 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 @@ -23,4 +23,4 @@ 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 +appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c: %m%n%ex diff --git a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j2.properties b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j2.properties index 75ac84ac6e1be..e7680d87bdf1d 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/resources/log4j2.properties +++ b/resource-managers/kubernetes/integration-tests/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/integration-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from a few verbose libraries. logger.jersey.name = com.sun.jersey diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DecommissionSuite.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DecommissionSuite.scala index 51ea1307236c8..5d1a57fb46ef2 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DecommissionSuite.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DecommissionSuite.scala @@ -47,7 +47,7 @@ private[spark] trait DecommissionSuite { k8sSuite: KubernetesSuite => |appender.console.name = console |appender.console.target = SYSTEM_OUT |appender.console.layout.type = PatternLayout - |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n + |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex | |logger.spark.name = org.apache.spark |logger.spark.level = debug diff --git a/resource-managers/mesos/src/test/resources/log4j2.properties b/resource-managers/mesos/src/test/resources/log4j2.properties index a0d309ccb1d40..88847106120cc 100644 --- a/resource-managers/mesos/src/test/resources/log4j2.properties +++ b/resource-managers/mesos/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/resource-managers/yarn/src/test/resources/log4j2.properties b/resource-managers/yarn/src/test/resources/log4j2.properties index 96107fb3a3aef..aa93bc14552b2 100644 --- a/resource-managers/yarn/src/test/resources/log4j2.properties +++ b/resource-managers/yarn/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from a few verbose libraries. logger.jersey.name = com.sun.jersey 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 f92bcdd677540..87ea44255ccdb 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 @@ -53,7 +53,7 @@ abstract class BaseYarnClusterSuite |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 + |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex |logger.jetty.name = org.sparkproject.jetty |logger.jetty.level = warn |logger.eclipse.name = org.eclipse.jetty diff --git a/sql/catalyst/src/test/resources/log4j2.properties b/sql/catalyst/src/test/resources/log4j2.properties index 08f43461b96ae..5f89859463a20 100644 --- a/sql/catalyst/src/test/resources/log4j2.properties +++ b/sql/catalyst/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty diff --git a/sql/core/src/test/resources/log4j2.properties b/sql/core/src/test/resources/log4j2.properties index 2ab43f896fc31..b1f3a726a92a4 100644 --- a/sql/core/src/test/resources/log4j2.properties +++ b/sql/core/src/test/resources/log4j2.properties @@ -25,7 +25,7 @@ appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n +appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n%ex appender.console.filter.threshold.type = ThresholdFilter appender.console.filter.threshold.level = warn @@ -34,7 +34,7 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Set the logger level of File Appender to WARN appender.file.filter.threshold.type = ThresholdFilter diff --git a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/CLIServiceUtils.java b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/CLIServiceUtils.java index a371b1371703b..97ea1ca0d4c9c 100644 --- a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/CLIServiceUtils.java +++ b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/CLIServiceUtils.java @@ -29,9 +29,9 @@ public class CLIServiceUtils { private static final char SEARCH_STRING_ESCAPE = '\\'; public static final StringLayout verboseLayout = PatternLayout.newBuilder().withPattern( - "%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n").build(); + "%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n%ex").build(); public static final StringLayout nonVerboseLayout = PatternLayout.newBuilder().withPattern( - "%-5p : %m%n").build(); + "%-5p : %m%n%ex").build(); /** * Convert a SQL search pattern into an equivalent Java Regex. diff --git a/sql/hive-thriftserver/src/test/resources/log4j2.properties b/sql/hive-thriftserver/src/test/resources/log4j2.properties index 939335bf3ac8d..5a3681a2a7ec8 100644 --- a/sql/hive-thriftserver/src/test/resources/log4j2.properties +++ b/sql/hive-thriftserver/src/test/resources/log4j2.properties @@ -25,7 +25,7 @@ appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n +appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n%ex appender.console.filter.1.type = Filters @@ -43,7 +43,7 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex appender.file.filter.1.type = Filters 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 d135fe7efbb75..7c93fa5ab2ea2 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 @@ -1228,7 +1228,7 @@ abstract class HiveThriftServer2TestBase extends SparkFunSuite with BeforeAndAft |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 + |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex """.stripMargin, new File(s"$tempLog4jConf/log4j2.properties"), StandardCharsets.UTF_8) diff --git a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/UISeleniumSuite.scala b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/UISeleniumSuite.scala index 5d94be38de0c5..cd5bb1f6283f5 100644 --- a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/UISeleniumSuite.scala +++ b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/UISeleniumSuite.scala @@ -80,7 +80,7 @@ class UISeleniumSuite |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 + |appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex """.stripMargin, new File(s"$tempLog4jConf/log4j2.properties"), StandardCharsets.UTF_8) diff --git a/sql/hive/src/test/resources/log4j2.properties b/sql/hive/src/test/resources/log4j2.properties index 16b8924789130..cf9be6c68a508 100644 --- a/sql/hive/src/test/resources/log4j2.properties +++ b/sql/hive/src/test/resources/log4j2.properties @@ -25,7 +25,7 @@ appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n +appender.console.layout.pattern = %d{HH:mm:ss.SSS} %p %c: %m%n%ex appender.console.filter.threshold.type = ThresholdFilter appender.console.filter.threshold.level = warn @@ -34,7 +34,7 @@ appender.file.type = File appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Set the logger level of File Appender to WARN appender.file.filter.threshold.type = ThresholdFilter diff --git a/streaming/src/test/resources/log4j2.properties b/streaming/src/test/resources/log4j2.properties index 08f43461b96ae..5f89859463a20 100644 --- a/streaming/src/test/resources/log4j2.properties +++ b/streaming/src/test/resources/log4j2.properties @@ -24,7 +24,7 @@ appender.file.name = File appender.file.fileName = target/unit-tests.log appender.file.append = true appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n +appender.file.layout.pattern = %d{yy/MM/dd HH:mm:ss.SSS} %t %p %c{1}: %m%n%ex # Ignore messages below warning level from Jetty, because it's a bit verbose logger.jetty.name = org.sparkproject.jetty