我正在通过spark2-shell -i
选项运行一个spark脚本。
我想使用log4j框架将生成的日志重定向到文件。
我以前运行的命令:
spark2-shell --master yarn --deploy-mode client -i audit.scala --conf spark.driver.args="PROD sample.txt" --files /bigdata/datalakes/app/log/log4j.properties#log4j.properties --conf spark.driver.extraJavaOptions='-Dlog4j.configuration=file:/bigdata/datalakes/app/log/log4j.properties'
这是/bigdata/datalakes/app/log/log4j.properties
:
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#Redirect to Tomcat logs folder
#log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
答案 0 :(得分:0)
您可以将此作为配置选项提供给spark。
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties"
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties"
希望这有帮助。
干杯!