mardi 16 décembre 2008

Faire un appender suffixé par la date

Cette classe permet de faire un appender qui suffixe la date.
package myprog.util;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.FileAppender;

public class DateFileAppender extends FileAppender {

private String datePattern = "yyyyMMddhhmm";

public void setFile(String strFile) {
String strDate;
SimpleDateFormat sdf;

if (datePattern!=null && strFile!=null) {
sdf = new SimpleDateFormat(datePattern);
strDate = sdf.format(new Date());
fileName = strFile.replaceAll("%date%", strDate);
} else {
System.err.println("Either File or DatePattern options are not set for appender [" + name + "].");
}
}

public String getDatePattern() {
return datePattern;
}

public void setDatePattern(String datePattern) {
this.datePattern = datePattern;
}
}



Pour l'utiliser dans le fichier log4j

log4j.appender.F1=myprog.util.DateFileAppender
log4j.appender.F1.File=log/extract-generated-%date%.log
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%m%n

Aucun commentaire: