Мы недавно переключились на Log4J из JUL (java.util.Logging), потому что я хотел добавить дополнительные файлы журнала для разных уровней ведения журнала.
У нас есть возможность в программе дополнительно добавитьзначение и метка даты / времени для имени файла журнала в конце (для всех целей и задач) выполнения программы.
Поскольку JUL, казалось, открывал и закрывал файл по мере необходимости для записи в файл,он не был заблокирован, и мы могли просто использовать .renameTo (), чтобы изменить имя файла.
Теперь, используя Log4J, этот файл остается открытым и заблокирован, что не позволяет нам переименовывать файл (ы).
Я не могу определить имя файла до того, как настрою ведение журнала, потому что файл свойств, содержащий параметры для переименования, проходит через некоторое время после того, как необходимо ведение журнала (именно поэтому мы переименовали его в конце программы).
Есть ли у вас какие-либо предложения относительно того, как этого можно достичь?
Поможет или помешает Logback и / или SLF4J?
Я как-то обошел проблему, используя системный параметр в файле свойств log4j, установив свойство и перезагрузив файл свойств.
Это позволяет мне изменить имя файла журнала на другоеконец прогона, а затем переименуйте старые файлы.
Это не элегантно и очень сильно мешает работе, поэтому я хотел бы избежать этого, так как он также оставляет эти временные файлы после прогона.