Fiche technique | |
---|---|
Type de produit : | Cadre d'application |
Catégorie : | Journalisation |
Langage de programmation : | Java |
Auteur : | Apache Software Foundation |
Licence : | Apache License, Version 2.0 |
Date de publication : | 2001 à maintenant |
Site Web : | https://logging.apache.org/log4j/2.x/ |
Introduction
Le Log4j est un cadre d'application open-source de journalisation (logging) pour les applications Java, créée par la fondation Apache. Elle est largement utilisée pour enregistrer des informations sur l'exécution des programmes, notamment les messages de déboguage, les erreurs, les informations d'état, et bien plus encore. Cela permet aux développeurs de surveiller et de diagnostiquer le comportement de leurs applications.
Les fonctionnalités principales de Log4j sont :
- Niveaux de journalisation : Log4j permet de définir différents niveaux de journalisation, tels que TRACE, DEBUG, INFO, WARN, ERROR, et FATAL. Cela aide à filtrer les messages en fonction de leur importance.
- Appenders : Les "appenders" sont des composantes déterminant où les messages de journalisation sont envoyés. Par exemple, ils peuvent être envoyés dans des fichiers, dans la console, à un serveur distant,...
- Mise en pages : Les mises en pages définissent le format des messages de journalisation. Ils permettent de personnaliser la présentation des informations enregistrées.
- Configuration flexible : Log4j peut être configuré à l'aide de fichiers XML, JSON, YAML, ou simplement de fichiers de propriétés. Cela permet de modifier les paramètres de journalisation sans changer le code source.
Remarque
- Log4j 2 et les vulnérabilités : En 2021, une vulnérabilité critique, appelée Log4Shell (CVE-2021-44228), a été découverte dans Log4j 2. Cette faille de sécurité permettait l'exécution de code à distance via des requêtes malveillantes. Cette vulnérabilité a eu un impact majeur sur la communauté Java et a entraîné des mises à jour urgentes pour corriger le problème. Il est donc important de toujours utiliser une version à jour de Log4j 2. Par ricochet, des projets comme par exemple Solr, Elasticsearch et Apache Tomcat ou des cadres d'application comme Apache Struts et Hadoop, utilisant Log4j ont également du être mise à jour.
Concurrent
Les concurrents de Log4j sont SLF4J, Logback, java.util.logging (JUL), TinyLog, Apache Commons Logging (JCL), jboss-logging, Fluentd...
Dernière mise à jour : Vendredi, le 16 août 2024