我试图压制消息
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
当我运行我的Spark应用程序时。我已成功重定向INFO消息,但此消息不断显示。任何想法都将不胜感激。
答案 0 :(得分:10)
更简单的是,您cd SPARK_HOME/conf
然后mv log4j.properties.template log4j.properties
然后打开log4j.properties
并将所有INFO
更改为ERROR
。这里SPARK_HOME
是火花安装的根目录。
有些人可能正在使用hdfs
作为他们的Spark存储后端,并且会发现日志消息实际上是由hdfs
生成的。要更改此设置,请转到HADOOP_HOME/etc/hadoop/log4j.properties
文件。只需将hadoop.root.logger=INFO,console
更改为hadoop.root.logger=ERROR,console
即可。我的hadoop安装的根目录HADOOP_HOME
再一次为/usr/local/hadoop
。
答案 1 :(得分:4)
好的,我已经想出办法来做到这一点。所以基本上,我最初有自己的log4j.xml,正在使用,因此我们看到了这个属性。一旦我拥有自己的" log4j.properties"文件,这条消息消失了。
答案 2 :(得分:1)
如果将log4j.properties
文件放在main
resources
和test
resources
下,也会发生这种情况。在这种情况下,请从test
resources
中删除文件,而仅使用main
resources
中的文件即可解决此问题。
答案 3 :(得分:0)
以上所有答案均无法使用SBT对我有用。原来,您需要在您的log4j.properties
中明确地定义一个追加器,例如:
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
将其放在您的resources
目录中,鲍勃是您的叔叔!