Un fichier de log par courir avec log4j

Comment configurez-vous log4j.propriétés à avoir exactement un fichier de log par exécution d'une application.
J'ai lu que vous devriez utiliser un timestamp dans le nom de fichier, mais qui permettra de créer de nombreux fichiers par exécution comme le temps passe.

J'ai essayé DailyRollingFileAppender et RollingFileAppender, mais ne peut pas trouver un moyen de configurer exctly un journal par run. Le journal ne doit pas être rompu dans plusieurs journaux et il ne devrait pas être tronqués et les fichiers des anciennes pistes doivent être préservés.

Chaque classe a un static org.slf4j.Enregistreur de son propre nom de classe:

private static final Logger log = LoggerFactory.getLogger(Foo.class);

C'est mon log4j.propriétés

log4j.rootLogger=error, RootAppender, RootErrorAppender
#log4j.logger.com.example=info, qspaBackendAppender, stderr
log4j.logger.com.example=info, qspaBackendAppender
log4j.additivity.com.example=true
#log4j.logger.com.example.util=trace, qspaBackendAppender, stderr
#log4j.additivity.com.example.util=true
log4j.appender.qspaBackendAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.qspaBackendAppender.file=logs/qspaBackend.log
log4j.appender.qspaBackendAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.qspaBackendAppender.layout.ConversionPattern=<%d{yyyy-MM-dd HH:mm:ss}> %-5p : %C{1} %c{2} : %m%n
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.Target=System.err
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=%-5p %c{1}:%L - %m%n
log4j.appender.RootAppender=org.apache.log4j.RollingFileAppender
log4j.appender.RootAppender.file=logs/root.log
log4j.appender.RootAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RootAppender.layout.ConversionPattern=<%d{yyyy-MM-dd HH:mm:ss}> %-5p : %C{1} %c{2} : %m%n
log4j.appender.RootErrorAppender=org.apache.log4j.RollingFileAppender
log4j.appender.RootErrorAppender.file=logs/rootError.log
log4j.appender.RootErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RootErrorAppender.layout.ConversionPattern=<%d{yyyy-MM-dd HH:mm:ss}> %-5p : %C{1} %c{2} : %m%n
log4j.appender.RootErrorAppender.threshold=error

OriginalL'auteur lilalinux | 2013-10-02