文件spark中的log4j

xoefb8l8  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(400)

我正在尝试记录我的项目。为此,我使用log4j,将信息和设置放在代码本身中,而不使用属性文件,如下所示。

public class Teste {

    Logger log = Logger.getLogger(Teste.class.getName());

    public static void configError() {

        EnhancedPatternLayout layout = new EnhancedPatternLayout();
        String conversionPattern = "%d{ISO8601}{GMT+1} %-5p %m%n";
        layout.setConversionPattern(conversionPattern);
        String fileError = "C:/ProducerError.log";

        // creates console appender
        ConsoleAppender consoleAppender = new ConsoleAppender();
        consoleAppender.setLayout(layout);
        consoleAppender.activateOptions();

        // creates file appender
        FileAppender fileAppender = new FileAppender();
        fileAppender.setFile(fileError);
        fileAppender.setLayout(layout);
        fileAppender.activateOptions();

        // configures the root logger
        Logger rootLogger = Logger.getRootLogger();
        rootLogger.setLevel(Level.ERROR);
        rootLogger.addAppender(consoleAppender);
        rootLogger.addAppender(fileAppender);

        log.error("Error teste");

        rootLogger.removeAllAppenders();
    }
}

我也想这么做,但在一个Spark文件。我也试过同样的方法,但没有任何回报。spark日志是如何工作的?我不能像以前那样把它放进代码里吗?我有一个带有spark submit的dockerfile,但我不想弄乱代码。

ecfdbz9o

ecfdbz9o1#

提交spark作业时提供配置文件路径 -Dlog4j.configuration=path/to/log4j.properties

相关问题