Maison > Questions et réponses > le corps du texte
为什么Log记录日志要先做一个判断了?如下。
if (logger.isErrorEnabled()){
logger.error(msg,e);
}
还有就是logger.isDebugEnabled和logger.isInfoEnable 等等?
迷茫2017-04-18 10:57:29
Vous comprendrez en passant à l'exemple suivant.
if (log.isDebugEnabled()) {
log.debug("log " + param1 + " ...");
}
Dans de nombreux cas, certaines informations sur les paramètres seront enregistrées lors de l'enregistrement des journaux. Lors de l'utilisation de jcl
comme interface de journalisation, il est inévitable d'épisser les chaînes, mais les journaux ont des niveaux différents (level
). exécutés en ligne. Les journaux à tous les niveaux de journalisation ne seront pas enregistrés.
Si vous n'augmentez pas le jugement du niveau de journalisation lors de l'utilisation de jcl
. Utiliser log.debug("log " + param1 + " ...");
directement de cette manière générera beaucoup d'objets String
inutiles. Ceux-ci String
n'auront en fait aucun effet et perdront du temps d'exécution. En même temps, gc
devra également recycler un grand nombre de ces déchets. objets. Ceci utilise jcl
La raison pour laquelle le jugement doit être ajouté.
Bien sûr, nous pouvons désormais utiliser directement slf4j
pour utiliser des espaces réservés afin de réduire ce if
jugement. Tel que log.debug("log {} ...", param1)
slf4j