Log4J est une bibliothèque permettant de produire des logs (traces chronologiques) du fonctionnement d'une application Java. Ces traces sont utiles pour la mise au point des applications, pour auditer le fonctionnement d'une application et pour comprendre après coup d'éventuels dysfonctionnements.
Utiliser directement et indirectement de façon massif, la moindre faille de sécurité sur cette brique a un impact énorme sur la sécurité de l'ensemble des applications Java comme l'a montré la faille Log4Shell.
L'objet de l'étude est de faire un point sur Log4j et ses alternatives, principalement LogBack. Si cette dernière est techniquement au même niveau de maturité et fonctionnellement très proche de Log4j, sa pérennité est toutefois moins assurée, le projet étant porté essentiellement par une seul personne.
Log4j de son côté bénéficie d'une large communauté (une centaine de développeurs) organisée et protégée par la fondation Apache, gage de stabilité et pérennité et qui a montré pour la faille Log4Shell une très bonne réactivité. Log4j reste la meilleure solution de log en contexte Java.