我在努力压制
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
当我运行我的Spark应用程序时。我已成功重定向INFO消息,但此消息仍显示。任何想法将不胜感激。
jtoj6r0c1#
更简单的是,您只需cd SPARK_HOME/conf,然后mv log4j.properties.template log4j.properties,然后打开log4j.properties并将所有INFO更改为ERROR。这里的SPARK_HOME是spark安装的根目录。有些人可能使用hdfs作为他们的Spark存储后端,并且会发现日志消息实际上是由hdfs生成的。要更改此设置,请转到HADOOP_HOME/etc/hadoop/log4j.properties文件。只需将hadoop.root.logger=INFO,console更改为hadoop.root.logger=ERROR,console。再一次,HADOOP_HOME是hadoop安装的根目录,对我来说是/usr/local/hadoop。
cd SPARK_HOME/conf
mv log4j.properties.template log4j.properties
log4j.properties
INFO
ERROR
SPARK_HOME
hdfs
HADOOP_HOME/etc/hadoop/log4j.properties
hadoop.root.logger=INFO,console
hadoop.root.logger=ERROR,console
HADOOP_HOME
/usr/local/hadoop
ajsxfq5m2#
好吧,我想到了一个办法。基本上,我最初有自己的log4j.xml,它被使用,因此我们看到了这个属性。一旦我有了自己的“log4j.properties“文件,这条消息就消失了。
xfb7svmp3#
如果您将log4j.properties文件同时放在main/resources和test/resources下,也会发生这种情况。在这种情况下,从test/resources中删除文件并仅使用main/resources中的文件可以解决此问题。
main/resources
test/resources
cmssoen24#
上面的答案没有一个对我使用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
把这个放到你的resources目录里,鲍勃就是你的叔叔了!
resources
9avjhtql5#
如果您使用的是Spark-3.4,只需将log4j.properties重命名为log4j2.properties即可使用日志配置。我对www.example.com所做的任何更改log4j.properties都不会对日志记录产生影响。
log4j2.properties
5条答案
按热度按时间jtoj6r0c1#
更简单的是,您只需
cd SPARK_HOME/conf
,然后mv log4j.properties.template log4j.properties
,然后打开log4j.properties
并将所有INFO
更改为ERROR
。这里的SPARK_HOME
是spark安装的根目录。有些人可能使用
hdfs
作为他们的Spark存储后端,并且会发现日志消息实际上是由hdfs
生成的。要更改此设置,请转到HADOOP_HOME/etc/hadoop/log4j.properties
文件。只需将hadoop.root.logger=INFO,console
更改为hadoop.root.logger=ERROR,console
。再一次,HADOOP_HOME
是hadoop安装的根目录,对我来说是/usr/local/hadoop
。ajsxfq5m2#
好吧,我想到了一个办法。基本上,我最初有自己的log4j.xml,它被使用,因此我们看到了这个属性。一旦我有了自己的“log4j.properties“文件,这条消息就消失了。
xfb7svmp3#
如果您将
log4j.properties
文件同时放在main/resources
和test/resources
下,也会发生这种情况。在这种情况下,从test/resources
中删除文件并仅使用main/resources
中的文件可以解决此问题。cmssoen24#
上面的答案没有一个对我使用SBT有效。原来你需要在
log4j.properties
中显式地定义一个appender,比如:把这个放到你的
resources
目录里,鲍勃就是你的叔叔了!9avjhtql5#
如果您使用的是Spark-3.4,只需将
log4j.properties
重命名为log4j2.properties
即可使用日志配置。我对www.example.com所做的任何更改log4j.properties都不会对日志记录产生影响。