【问题标题】:How to filter Logs from the Spark log4j-defaults.properties file in IntelliJ如何从 IntelliJ 中的 Spark log4j-defaults.properties 文件中过滤日志
【发布时间】:2020-12-26 18:58:51
【问题描述】:

我正在使用 Maven 依赖项在 IntelliJ 中运行 Spark 作业。问题是控制台日志是由来自 Spark 的 log4j-defaults.properties 文件触发的,并且日志中充满了我真的不想拥有的 INFO 日志。

我想修改日志文件以删除 INFO 日志(或任何日志)。或者可能在不修改属性文件的情况下过滤 INFO 日志。问题是我无法从 IntelliJ 中的Maven 依赖项中修改log4j-defaults.properties 文件,或者至少我没有找到方法。

有什么想法吗?

【问题讨论】:

    标签: java maven apache-spark intellij-idea log4j


    【解决方案1】:

    获得火花上下文后,您可以尝试: sparkContext.setLogLevel("OFF") 而且您根本看不到日志。 你也可以使用“ERROR”,它只会显示错误或以上的日志。

    有效的日志级别包括:ALL、DEBUG、ERROR、FATAL、INFO、OFF、TRACE、WARN

    【讨论】:

    • 这就是我想要的。谢谢它解决了我的问题
    【解决方案2】:

    将这些行放在 spark-scala 代码的开头:

    import org.apache.log4j.{Level, Logger}
    Logger.getRootLogger.setLevel(Level.OFF)
    

    【讨论】:

    • 嗨,对不起,我正在使用 Java。我正在尝试,但不确定如何在 Java 中进行此操作。
    • 你可以使用与java语法相同的代码,使用log4j库。
    • 好的,我已经用Java在main方法中实现了它,但是我得到了所有相同的日志,以句子开头:Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2010-11-01
    • 2016-08-02
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多