Vous pouvez raccourcir un tout petit peu, car getLogger est surchargé pour simplement prendre la classe. Comme si:
public class MyClass {
private static Logger _log = Logger.getLogger(MyClass.class);
}
Le Logger peut être aussi fleixble ou inflexible que vous le souhaitez. Vous pouvez saisir un nouvel enregistreur pour chaque classe, comme dans l'exemple ci-dessus, et avoir une hiérarchie d'enregistreurs où vous pouvez contrôler et activer/désactiver la journalisation par classe. Ou si votre projet est petit ou un prototype, etc, vous pouvez simplement appeler Logger.getRootLogger() - mais vous perdrez la flexibilité d'affiner ce que vous consignez et ne consignez pas. Vous pourriez avoir une classe de base où la vie de l'enregistreur, et que tout le monde appelle celui-là, mais encore une fois, vous perdez une certaine flexibilité:
public class MyBase {
protected static Logger _log = Logger.getLogger(MyClass.class);
}
public class MyClass extends MyBase {
....
_log.info("Stuff....");
}
En bout de ligne, si vous voulez garder la possibilité d'affiner configurer l'enregistrement plus tard dans le projet (activer le débogage de niveau plus fin pour une seule classe), alors vous devrez peut-être coller avec le passe-partout dans chaque classe.
Vous devriez faire la finale de l'instance de l'enregistreur. –
J'utilise une annotation @Trace pour effectuer un traçage d'appel de méthode, c'est-à-dire consigner tous les arguments et résultats/exceptions. Avec cette bibliothèque: https://github.com/nicholas22/jpropel –