Это мой Учащийся, который использовался для тестирования log4j.Log4j Log не создается при запуске jar-файла
public class Student{
private static final Logger logger = Logger.getLogger(Student.class.getName());
public Student() {
PropertyConfigurator.configure("log4j.properties");
}
public static void main(String args[]){
logger.log(Level.INFO, "My log4j Test");
}
}
Это мой log4j.properties файл
log4j.rootLogger=INFO,Appender1,Appender2
log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender2=org.apache.log4j.RollingFileAppender
log4j.appender.Appender2.File=C:/Log4j/MyLogExample.log
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout`
log4j.appender.Appender1.Target=System.out`
log4j.appender.Appender1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n`
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout`
log4j.appender.Appender2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n`
log4j.appender.Appender2.MaxFileSize=50KB`
log4j.appender.Appender2.MaxBackupIndex=10`
Когда я запускаю эту программу с помощью Eclipse, MyLogExample.log файл получает создан. Но после того, как я создал файл jar и запустил его с помощью командной строки, файл журнала не будет создан.
В консоли я вижу эту ошибку.
log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)
После того как я добавить следующий код, файл журнала создается, даже если файл банка работать с командной строки.
PropertyConfigurator.configure("C:\\eclipeworkspace\\Log4jTest\\log4j.properties");
Как я могу указать относительный путь вместо точного пути?
Или немного короче: 'PropertyConfigurator.configure (classLoader.getResource (" log4j.properties "));'. @Pradeep Предполагается, что каталог 'Log4jTest' находится в пути к классам, поэтому вам нужно будет проверить конфигурацию проекта eclipse. –
Я добавил этот код в раздел ClassLoader classLoader = Thread.currentThread(). GetContextClassLoader(); PropertyConfigurator.configure (классLoader.getResource ("log4j.properties")); но все же такая же ошибка? –
log4j: ERROR Не удалось прочитать файл конфигурации с URL [null]. –