Ниже приведены подробные файлы, в которых я получаю проблему. Я не уверен, правильно ли я инициализирую Appender. Это мои log4j.properties
# Set root logger level to Info.
log4j.rootLogger=INFO, A1, HDFS
# A1 is set to be a ConsoleAppender.#
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %d{dd MMM yyyy HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n
log4j.appender.HDFS=com.abcd.util.HDFSFileAppender
log4j.appender.HDFS.filepath=log/myapp.log
log4j.appender.HDFS.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%-4r %d{dd MMM yyyy HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n
Это моя трассировка ошибок
log4j: ОШИБКА Не удалось создать экземпляр класса [com.abcd.util.HDFSFileAppender]. java .lang.InstantiationException: com.abcd.util.HDFSFileAppender at java .lang.Class.newInstance (Class. java: 427) в org. apache .log4j.helpers.OptionConverter.instantiateByClassName (OptionConverter . java: 337) в орг. apache .log4j.helpers.OptionConverter.instantiateByKey (OptionConverter. java: 124) в орг. apache .log4j.PropertyConfigurator.parseAppender (PropertyConfigurator. java: 785 ) в org. apache .log4j.PropertyConfigurator.parseCategory (PropertyConfigurator. java: 768) в org. apache .log4j.PropertyConfigurator.configureRootCategory (PropertyConfigurator. java: 648) в org. log4j.PropertyConfigurator.doConfigure (PropertyConfigurator. java: 514) в орг. apache .log4j.PropertyConfigurator.doConfigure (PropertyConfigurator. java: 580) в орг. apache .log4j.helpers.OlectConverter OptionConverter. java: 526) в org. apache .log4j.LogManager. (LogManager. java: 127) в org.slf4j.impl.Log4jLoggerFactory. (Log4jLoggerFactory. java: 66) в org.slf4j .impl.StaticLoggerBinder. (Санкт aticLoggerBinder. java: 72) в org.slf4j.impl.StaticLoggerBinder. (StaticLoggerBinder. java: 45) в org.slf4j.LoggerFactory.bind (LoggerFactory. java: 150) в org.slf4j.Logger. executeInitialization (LoggerFactory. java: 124) в org.slf4j.LoggerFactory.getILoggerFactory (LoggerFactory. java: 412) в org.slf4j.LoggerFactory.getLogger (LoggerFactory. java: 3574) в org.s .getLogger (LoggerFactory. java: 383) в com.abcd.Application. (Приложение. java: 8) Вызывается: java .lang.NoSuchMethodException: com.abcd.util.HDFSFileAppender. () в java .lang.Class.getConstructor0 (Class. java: 3082) в java .lang.Class.newInstance (Class. java: 412) ... еще 18
Это мой My Appender, который я создал
public class HDFSFileAppender extends AppenderSkeleton {
private String filepath = null;
private Layout layout = null;
public HDFSFileAppender(String filePath, Layout layout) {
this.filepath = filePath;
this.layout = layout;
}
...............