I think you could just set a system property in code to contain the current date:
static{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.setProperty("current.date", dateFormat.format(new Date()));
}
Then in your log4j.xml file you can use the system property when specifying the log file name in the appender:
<appender name="MYAPPENDER" class="org.apache.log4j.FileAppender">
<param name="File" value="${user.home}/myApp-${current.date}.log" />
ETA: Now that I think about it you may have to setup the system property using a static initializer to make sure the property is set before log4j is configured.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…