Если вы хотите отредактировать файл свойств из своего кода и сделать так, чтобы log4j его обнаружил, вам придется сначала заставить log4j отслеживать файл свойств, вызвав PropertyConfigurator.configureAndWatch("log4j.properties")
Однако я бы предпочел получить программный доступ к аппендерам, используя упомянутый Logger
api-подобный кунал.
обновление; код для того, чтобы сделать это программно
Enumeration allAppenders = Logger.getRootLogger().getAllAppenders();
while (allAppenders.hasMoreElements()) {
Object object = (Object) allAppenders.nextElement();
if (object instanceof RollingFileAppender) {
RollingFileAppender appender = (RollingFileAppender) object;
appender.setFile("/path/to/new/file.log");
appender.activateOptions();
break;
}
}