【发布时间】:2017-03-01 11:20:24
【问题描述】:
我正在尝试使用 log4j2.xml 而不是 spark 的默认 log4j 日志记录。
我的 Log4j2.xml 如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC
"-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<Configuration status="WARN" name="MyApp" monitorInterval="30">
<Properties>
<Property name="appName">MyApp</Property>
<Property name="appenderPatternLayout">%d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n</Property>
<Property name="fileName">/app/vodip/logs/${appName}.log</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile"
fileName="${fileName}"
filePattern="a1
${appName}-%d{yyyy-MM-dd-HH}-%i.log">
<PatternLayout>
<Pattern>${appenderPatternLayout}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="4" modulate="true"/>
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="xyz.abcs.MyApp" level="debug" additivity="false">
<AppenderRef ref="RollingFile"/>
</Logger>
<Root level="debug">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
我已将我的 log4j2.xml 放在所有节点上的 spark/conf 文件夹中,并重新启动 spark 并提交如下 spark 程序。
spark-submit --master spark://xyzzz.net:7077 \
--class abcd.myclass \
--deploy-mode cluster --executor-memory 2G --total-executor-cores 4 \
--conf spark.network.timeout=150 \
--files /app/spark/spark-1.6.1-bin-hadoop2.6/conf/log4j2.xml \
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j2.xml" \
--driver-java-options "-Dlog4j.configuration=file:/app/spark/spark-1.6.1-bin-hadoop2.6/conf/log4j2.xml" \
/app/spark/my.jar
我在我的工人标准错误日志中看到了这一点。这意味着我的日志没有使用 log4j2 功能。
log4j:WARN 可继续解析错误 10 和第 78 列 log4j:WARN 文档根元素“配置”,必须匹配 DOCTYPE 根“null”。 log4j:WARN 持续解析错误 10 和第 78 列 log4j:WARN 文档无效:未找到语法。 log4j:ERROR DOM 元素是 - 不是一个元素。使用 Spark 的默认 log4j 配置文件:org/apache/spark/log4j-defaults.properties
谁能告诉我配置有什么问题???
【问题讨论】:
-
我认为你错过了
<!DOCTYPE检查stackoverflow.com/questions/5000884/… -
我在代码中添加了这一行。 ttp://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd" rel="nofollow" target="_blank">logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/…"> 但它给出了 log4j:WARN 持续解析错误 13 和列 78 log4j:WARN 文档根元素“配置”,必须匹配 DOCTYPE 根“log4j:configuration”。 log4j:WARN 持续解析错误 13 和第 78 列 log4j:WARN 必须声明元素类型“配置”。 log4j:WARN 持续解析错误 15 和第 17 列
标签: apache-spark spark-streaming