gpt4 book ai didi

apache-spark - Spark 不采用 log4j2.xml

转载 作者:行者123 更新时间:2023-12-04 05:18:15 27 4
gpt4 key购买 nike

我正在尝试使用 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

我在我的工作人员 stderr 日志中看到了这一点。这意味着我的日志没有使用 log4j2 功能。

log4j:WARN Continuable parsing error 10 and column 78 log4j:WARN Document root element "Configuration", must match DOCTYPE root "null". log4j:WARN Continuable parsing error 10 and column 78 log4j:WARN Document is invalid: no grammar found. log4j:ERROR DOM element is - not a element. Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties

谁能告诉我配置有什么问题???

最佳答案

命令行中至少有一个错误会导致此错误


-Dlog4j.配置=。 . .
实际上必须是
-Dlog4j.configurationFile=。 . .
使用 log4j2

log4j.configuration 被旧的log4j解析,显然不理解新的配置格式并抛出解析错误

关于apache-spark - Spark 不采用 log4j2.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40137807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com