Le 04/02/2013 02:04, Adrien Cheype a écrit :
Bonjour,
Comme Mickaël l'a expliqué, l'intérêt de LogTools#getLog() est de pouvoir déclarer un logger avec un simple copier-coller. Je ne saurais dire pourquoi cette idée, a priori bonne, n'est pas plus répandue. J'imagine que c'est lié aux inconvénients introduits pour récupérer la classe de la méthode appelante.
Au départ, il y avait effectivement un mécanisme de lever d'exception qui nous permettait de récupérer le bon nom de classe. Cette façon de faire n'étant pas très performante, j'avais pris la décision de régler le problème de performance en utilisant la classe Sun.reflect.Reflection. La contre-partie est que la classe n'existe que dans certaines jvm (sun et openjdk par ex.) et qu'il est imposible de l'exécuter dans certains environnements de sécurité restreinte (applets notamment).
OK pour revenir à une déclaration plus classique en écrivant à la main le nom de classe. Pour ne pas avoir à changer plus d'une ligne, vous pouvez garder le nom de variable LOG. C'est fait.
Juste à noter deux petits changements: * le niveau 'fatal' n'existe pas sur slf4j (à deux endroits j'ai changé à error) * log.debug() prend un Object dans jcl alors que c'est un String dans slf4j J'ai du convertir en String certains log.debug sur des double, boolean, List... -- Éric Chatellier - Code Lutin Tel: 02.40.50.29.28 - http://www.codelutin.com