Comment utiliser log4j en java sans le déclarer à chaque appel ?
为情所困
为情所困 2017-05-17 10:04:39
0
3
634

Chaque fois que vous écrivez un nouveau cours, vous devez le déclarer comme suit :

private static Logger logger = Logger.getLogger(Test.class);  

N'est-ce pas très gênant ? Existe-t-il un moyen de définir le Logger sur une classe qui peut être appelée de manière statique, d'appeler directement les méthodes d'information, d'erreur et autres, et en même temps d'imprimer la classe actuelle, le numéro de thread et d'autres informations ?

为情所困
为情所困

répondre à tous(3)
漂亮男人

Vous pouvez simplement l'encapsuler pour obtenir ce que vous voulez, comme créer une classe pour encapsuler Logger et exposer plusieurs interfaces statiques. Quant à la raison pour laquelle de nombreux codes sont écrits sous la forme private static Logger logger = Logger.getLogger(Test.class);, c'est en fait principalement pour améliorer la flexibilité et la précision des journaux.

给我你的怀抱

Regardez ceci /a/11...

漂亮男人

Déclarez log car il peut définir différents nom de l'enregistreur et vous pouvez personnaliser votre propre méthode de sortie via le nom de l'enregistreur, tel que niveau, appender...etclog是因为他可以定义不同的logger name可以通过logger name定制自己的输出方式, 比如level, appender...等

如果你的日志是以相同的方式处理那你完全可以声明公共的静态 log 对象, 需要的地方使用该log
Si vos journaux sont traités de la même manière, vous pouvez déclarer un objet de journal statique public et utiliser le log si nécessaire sans déclaration répétée #. 🎜🎜# Tels que :

import static xxx.GlobalLogs.log;

log.debug("...");
log.info("...");
//...

Bien sûr, vous pouvez également utiliser lombok pour simplifier votre code.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal