我正在尝试记录我的项目。为此,我使用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,但我不想弄乱代码。
1条答案
按热度按时间ecfdbz9o1#
提交spark作业时提供配置文件路径
-Dlog4j.configuration=path/to/log4j.properties