Maison > Questions et réponses > le corps du texte
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 ?
漂亮男人2017-05-17 10:06:39
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.
漂亮男人2017-05-17 10:06:39
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.