Est-il possible de configurer log4j pour créer un nouveau fichier à chaque exécution de l’application?

Par exemple, la première fois que je lance une application (ou immédiatement après avoir effacé le répertoire / logs), je souhaite que log4j écrive les journaux de l’application dans un fichier appelé log.0. Ensuite, je quitte l’application et la redémarre, je souhaite que les journaux soient écrits dans log.1. Etc.

Je voudrais garder cela dans le fichier de configuration, mais si je ne peux pas, je pense que je pourrais toujours le faire dans mon application, lorsque log4j est configuré.

Est-ce possible? Si c’est le cas, comment?

Peut-être que c’est ce que vous recherchez

http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/

** Edit: ** J’ai une solution de plus! Mais aucune idée si cela fonctionne ou non, mais vous pouvez essayer http://www.mail-archive.com/[email protected]/msg02132.html

Solution avec log4j2:

   %level\t%d{yyyy-MM-dd HH:mm:ss} %c: %m%n        

Notez OnStartupTriggeringPolicy et % i dans filePattern . De cette façon, Log4j créera un nouveau fichier journal avec un index à chaque fois que vous exécuterez App.

Voir le manuel de logback sur les fichiers portant un nom unique (par horodatage) .

De mémoire, je ne pense pas que cela soit possible avec Log4j. Lorsque vous fermez l’application, vous pouvez peut-être renommer le fichier .log afin de créer un nouveau fichier journal au prochain démarrage.