【发布时间】:2025-11-30 13:10:02
【问题描述】:
我正在做一个 Maven 项目。 Apache spark 有自己的 log4j 功能。有没有一种方法可以将 apache spark 日志和我自己的日志语句写入文件?
【问题讨论】:
标签: java maven apache-spark log4j
我正在做一个 Maven 项目。 Apache spark 有自己的 log4j 功能。有没有一种方法可以将 apache spark 日志和我自己的日志语句写入文件?
【问题讨论】:
标签: java maven apache-spark log4j
与任何其他 java 应用程序一样,您需要类路径中的 jars,并且需要一个 log4j 配置文件。
[1] 类路径中的罐子
Spark 已经在其jars 文件夹($SPARK_HOME 下)中附带了这两个:
slf4j-api-1.7.16.jar
slf4j-log4j12-1.7.16.jar
所以你只需要在你的 pom 中添加一个“provided”,这样你就可以用它来编译:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.16</version>
<scope>provided</scope>
</dependency>
请注意,不同版本的 Spark 可能附带不同版本的 slf,因此请查看 [jars] 文件夹以将正确的版本与您使用的 Spark 匹配。
[2] log4j 配置文件
conf 文件夹。 log4j.properties.template重命名为log4j.properties 现在您可以在代码中添加log.debug。
请注意,代码可能在 Driver 或 Executor 上运行,因此日志将根据其运行位置而位于不同的机器中。
【讨论】: