如何摆脱;使用Spark';默认的log4j配置文件:org/apache/spark/log4j defaults.properties";消息
我正试图压制这个信息如何摆脱;使用Spark';默认的log4j配置文件:org/apache/spark/log4j defaults.properties";消息,log4j,apache-spark,Log4j,Apache Spark,我正试图压制这个信息 Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 当我运行我的Spark应用程序时。我已成功重定向信息消息,但此消息仍会继续显示。如果您有任何想法,我们将不胜感激。好的,所以我想出了一个方法。基本上,我最初有自己的log4j.xml,正在使用它,因此我们看到了这个属性。一旦我有了自己的“log4j.properties”文件,这个消息就消失了。更简单的是,你只需c
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
当我运行我的Spark应用程序时。我已成功重定向信息消息,但此消息仍会继续显示。如果您有任何想法,我们将不胜感激。好的,所以我想出了一个方法。基本上,我最初有自己的log4j.xml,正在使用它,因此我们看到了这个属性。一旦我有了自己的“log4j.properties”文件,这个消息就消失了。更简单的是,你只需
cd SPARK_HOME/conf
然后mv log4j.properties.template log4j.properties
然后打开log4j.properties
并将所有INFO
更改为ERROR
。此处SPARK\u HOME
是SPARK安装的根目录
一些人可能使用
hdfs
作为他们的Spark storage后端,并且会发现日志消息实际上是由hdfs
生成的。要更改此属性,请转到HADOOP\u HOME/etc/HADOOP/log4j.properties
文件。只需将hadoop.root.logger=INFO,控制台
更改为hadoop.root.logger=ERROR,控制台
。再次强调一下,HADOOP\u HOME
是您的HADOOP安装的根目录。对我来说,这是/usr/local/HADOOP
如果您将log4j.properties
文件放在main/resources
和test/resources
下,这种情况也会发生。在这种情况下,从test/resources
中删除文件并仅使用main/resources
中的文件可以解决此问题。使用SBT时,上述答案对我都不起作用。事实证明,您需要在log4j.properties
中显式地定义一个appender,例如:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.rootLogger=WARN, stdout
log4j.logger.org.apache.spark=WARN, stdout
log4j.logger.com.yourcompany=INFO, stdout
把这个放在你的
资源
目录中,鲍勃是你叔叔 将spark的conf文件夹添加到CLASSPATH变量。@kaushal您是对的,我必须做一些类似的事情,但不完全是您在这里建议的,但我确信如果我按照您的建议做了,这条消息就会消失。谢谢我必须应用这些更改,并将log4j.properties
复制到src/main/resources
文件夹中,以获取更改。有趣的是,我想知道您是否重新启动了spark master,如果没有必要的话?不知道,但我可能重新启动了运行spark的SBT。如果您使用Intellij,这就是确切的解决方案。干得好。其他答案对我不起作用。你能告诉我一些细节吗?你是如何使用Spark的默认log4j配置文件的:org/apache/Spark/log4j-defaults.properties。我正在使用Spark 1.6,在Thread cluser上运行作业的。无法确定如何在分布式环境中传递log4j。我有自己的log4j属性文件think独立于本地/分布式的log4j。属性需要存在于类路径中+您需要在那里定义一个根记录器,如log4j.rootLogger=INFO,console
。请参阅以供参考!您可以将此文件的内容复制到src/main/resources/log4j.properties
文件中。