我正在运行我的spark应用程序。我想用log4j记录一些语句,并将其保存为linux目录中的文件。 当我运行spark作业时,它会被启动并成功完成。但是我没有看到job.log被创建。 下面是我的配置。
log4j.rootLogger=INFO, E
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.DatePattern='.'yyyy-MM-dd
log4j.appender.E.File=${SPARK_HOME}/statistic_log/job.log
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%r] - [%p] %m%n
log4j.appender.E.Append=true
log4j.appender.E.Threshold=INFO
我相信许可没有问题。有人可以帮助我吗?
答案 0 :(得分:0)
提交我的火花应用时,应将log4j.properties
列入--conf
参数。否则,火花将使用${SPARK_HOME}/conf/log4j.properties
作为默认值。
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/storage/statistical_data/resources/log4j.properties"
答案 1 :(得分:0)
您的日志文件是在工作节点创建的,如果您没有在驱动程序中记录任何内容,则job.log将不存在于驱动程序中。
找到工人的日志。