Maintenant, quel est le rapport entre le pattern "singleton" et une classe de logging ?
Eh bien, dans les API de logging existantes, on initialise souvent le logger par une expression de la forme :
Logger logger = Logger.getLogger("nom du logger");
Et derrière, la méthode getLogger s'assure de ne créer qu'une seule instance de chaque type de logger (je suppose que c'est pour éviter des accès concurrents par deux instances de classe à un même fichier).
En fait, pour être plus exacte, dans les API existantes on a la notion de logger et d'appender.
L'appender est vraiment l'entité qui écrit dans un fichier/flux/etc.
Le logger peut être associé à plusieurs appenders (d'où l'écriture d'un même message dans plusieurs fichiers/flux/etc).
Partager