La journalisation - Principes et implementations Java

La journalisation en Java

Nous étudierons ici différentes solutions d'implementation de journalisation dans le langage Java. Dans un premier temps, nous verrons Jkarta Commons Logging qui est une couche d'abstraction pour la plupart des systèmes de journalisation existants. Puis ensuite une solution plus évoluée appelée Log4J, très répandue dans le monde du Java mais aussi existante sur d'autres langages. Pour rester dans le domaine de Java, nous pouvons citer sans les présenter le JDK 1.4 de Sun qui présente son propre système de journalisation, Lumberjack de Brian R. Gilstrap, Javalog de Grace Software ou Jlogger de Javelin Software


Les principes

La plupart des systèmes de journalisation reposent sur les mêmes principes de fonctionnement:


Les niveaux de gravité

Pour comprendre les systèmes de journalisation, il faut d'abord se familiariser à la notion de niveau de journalisation ou de priorité d'un message. Il s'agit d'une entité représentant l'importance du message à journaliser. Un message n'est journalisé que si sa priorité est supérieure ou égale à la priorité fixé par la classe effectuant la journalisation. La plupart du temps, les systèmes de journalisation définissent 5 niveaux de logging présentés ici par gravité décroissante :

Il va de soi que plus l'on descend dans les niveaux, plus les messages sont nombreux.

Dans la plupart du temps, il est de créer ses propres niveau si le besoin de niveaux supplémentaires se fait sentir, néanmoins, ceux qui sont proposés sont la plupart du temps suffisants.