All, it seems like this question is posted multiple times but still i haven\'t got proper solution for my problem. I referred this and this but its not working.
As p
One simple way to execute this is: 1.) setting a property in before hooks for the current timestamp.
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy-hh-mm-ss");
System.setProperty("current.date.time", dateFormat.format(new Date()));
2.) Use this env variable property to create your logger file name log4j.appender.file.File=${user.dir}/logs/Logger_${current.date.time}.logs
EDIT - removed the DailyFileAppender
suggestion.
You can create your own FileAppender
, like this:
public class NewFileOnRebootAppender extends FileAppender {
public NewFileOnRebootAppender() {
}
@Override
public void setFile(String file) {
super.setFile(prependDate(file));
}
private static String prependDate(String filename) {
return System.currentTimeMillis() + "_" + filename;
}
}
And use it like this:
log4j.appender.fileOnReboot=yourPackage.NewFileOnRebootAppender
log4j.appender.fileOnReboot.File=appLogOnReboot.log
log4j.appender.fileOnReboot.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOnReboot.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
The naming of the file is not perfect, but you get the idea..