Я думаю, вы могли бы просто установить системное свойство в коде, чтобы оно содержало текущую дату:
static{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.setProperty("current.date", dateFormat.format(new Date()));
}
Тогда в вашем файле log4j.xml вы можете использовать системное свойство при указании имени файла журнала вappender:
<appender name="MYAPPENDER" class="org.apache.log4j.FileAppender">
<param name="File" value="${user.home}/myApp-${current.date}.log" />
ETA: Теперь, когда я думаю об этом, вам, возможно, придется настроить системное свойство с помощью статического инициализатора, чтобы убедиться, что свойство установлено перед настройкой log4j.