web-dev-qa-db-fra.com

SonarQube: invoquer des méthodes uniquement de manière conditionnelle

La partie suivante du code soulève un bogue majeur à SonarQube: "Appeler la ou les méthodes uniquement de manière conditionnelle."
Comment suis-je censé résoudre ce problème?

if(us != null){
    logger.info("Log this: {}", us.toString());
}
16
Olezt

L'appel à us.toString() est redondant, la méthode toString() sera appelée quel que soit le niveau de journal configuré. Vous ne devez passer que us comme argument à info sans instruction if.

logger.info("Log this: {}", us);
19
Tibor Blenessy

Comme indiqué dans les commentaires de la question, une autre réponse de travail est:

if(logger.isInfoEnabled() && us != null){
    logger.info("Log this: {}", us.toString());
}
7
Olezt