Я знаю, вы упомянули, что вы не хотите использовать параметр запуска "-Dlog4j.configuration = / Directory / log4j.xml", но вы рассматривали возможность использования пользовательского параметра, например
-DappOneLog4jConfig=/directoy/file1.xml
-DappTwoLog4jconfig=/directory/file2.xml
И затем в каждый из ваших военных файлов вы можете загрузить нужный вам файл log4j.
Вы можете сделать что-то подобное в классе, который загружается при запуске.
if(System.getProperty("appOneLog4jConfig") != null){
PropertyConfigurator.configure(System.getProperty("appOneLog4jConfig"));
} else {
BasicConfigurator.configure();
Logger.getRootLogger().setLevel(Level.INFO);
}
, который говорит, что если у меня указан файл свойств, используйте его. в противном случае по умолчанию все в Info.
Это должно дать вам свободу устанавливать файл log4j для каждого файла приложения / войны