Spark 通过 spark-submit 设置日志级别(对我好像没有起作用但是记录一下吧)
这里的log4j配置可以是 log4j.properties 或者 log4j.xml ,没有限制
spark-submit --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties"
配置示例
例如使用xml格式配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="${log_name}.log" />
<param name="threshold" value="INFO"/>
<param name="DatePattern" value="yyyyMMdd"/>
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c(%L) - %m%n"/>
</layout>
</appender>
<root>
<priority value ="INFO"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>
- 对于
<param name="file" value="${log_name}.log" />
可以写死一个log路径,也可以在代码中做设置,例如设置log名字为myLog,可以在Logger初始化之前 设置: System.setProperty(“log_name”, “myLog”);
spark脚本日志输出级别设置(亲测可用)
import org.apache.log4j.{ Level, Logger }
Logger.getLogger("org").setLevel(Level.WARN)
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.WARN)