Log4J динамически изменяет путь к файлу
Я хочу динамически изменять путь и имя файла моего log4j файла журнала.
Я прочитал много страниц, и почти все говорят мне, что я должен использовать системные свойства, как здесь: как динамически изменить файл журнала log4j?
Итак, мой файл log4j.properties выглядит так:
log4j.logger.JDBC_LOGGER=INFO,jdbcTests
log4j.additivity.JDBC_LOGGER = false
log4j.appender.jdbcTests=org.apache.log4j.FileAppender
log4j.appender.jdbcTests.File=${my.log}
log4j.appender.jdbcTests.layout=org.apache.log4j.PatternLayout
log4j.appender.jdbcTests.append = false
log4j.appender.jdbcTests.layout.ConversionPattern=%d{yyyy mm dd HH:mm:ss} %5p %C:Line %L - %m%n
В моем основном методе я собираюсь установить новое свойство системы:
System.setProperty("{my.log", "C:/logfile.log");
Но я просто получаю сообщение об ошибке:
log4j:ERROR setFile(null,false) call failed.
java.io.FileNotFoundException:
at java.io.FileOutputStream.open(Native Method)....
И когда я пытаюсь прочитать мое установленное системное свойство с помощью:
System.out.println(System.getProperty("my.log"));
это возвращает ноль. Что я делаю не так?