Ne pas utiliser la classe org.apache.juli.logging d'Apache Tomcat j

Cette règle détecte l'utilisation du org.apache.juli.logging.Log et org.apache.juli.logging.LogFactory classes et méthodes. Ces méthodes de consignation ne sont pas disponibles dans WebSphere Traditional ou Liberty et doivent être migrées.

Lorsqu'un correctif automatisé sera disponible, il remplacera le fichier org.apache.juli.logging.LogFactory avec java.util.logging.Logger . Elle remplace également les méthodes de journalisation Apache Tomcat par Java Logger.log(Level, message) .

Certaines des méthodes Apache Tomcat sont mappées directement à une java.util.logging.Level . Pour les niveaux qui ne sont pas directement mappés, vous pouvez personnaliser le niveau du journal dans la boîte de dialogue Configuration de l'analyse.

Les remplacements des fixations automatisées sont indiqués dans ce tableau de correspondance. Les méthodes de consignation qui transmettent un élément Throwable comme deuxième paramètre sont mappées de la même façon que leurs homologues dans la table ci-après.

Méthode org.apache.juli.logging Méthode java.util.logging Configurable
LogFactory.getLog(Class.class) Logger.getLogger(Class.class.getName()) Non
LogFactory.getLog("log name") Logger.getLogger("log name") Non
LogFactory.getInstance(Class.class) Logger.getLogger(Class.class.getName()) Non
LogFactory.getInstance("log name") Logger.getLogger("log name") Non
Log.fatal("mgs") Logger.log(WsLevel.FATAL, "msg") Oui
Log.error("msg") Logger.log(Level.SEVERE, "msg") Oui
Log.warn("msg") Logger.log(Level.WARNING, "msg") Non
Log.info("msg") Logger.log(Level.INFO, "msg") Non
Log.debug("msg") Logger.log(WsLevel.DETAIL, "msg") Oui
Log.trace("msg") Logger.log(Level.FINE, "msg") Oui

Par exemple, la création d'une instance de classe de journal :

Log log = LogFactory.getLog(MyClass.class);

est migré vers
Logger log = Logger.getLogger(MyClass.class.getName());

Cet exemple illustre un appel à org.apache.juli.logging.Log.error() avec un Throwable comme second paramètre.

catch (Exception e) {
log.error("Un message d'erreur", e);
}

Il est migré vers le code suivant :
catch (Exception e) {
log.log(Level.SEVERE, "Un message d'erreur", e);
}


Remarques :
  1. Certaines migrations de méthode de consignation peuvent être configurées. Par exemple, si vous souhaitez Log.trace méthode à migrer vers un niveau autre que WsLevel.DETAIL , vous pouvez le modifier dans la boîte de dialogue Configuration de l'analyse.
  2. WsLevel est défini dans la classe IBM(R), com.ibm.websphere.logging.WsLevel . Elle s'étend java.util.logging.Level pour fournir des niveaux de journalisation supplémentaires. Si vous ne souhaitez pas utiliser le WsLevel niveaux définis, vous pouvez également configurer ces mappages dans la boîte de dialogue Configuration de l'analyse sous cette règle Java Tomcat .
  3. Pas tous LogFactory Les méthodes sont migrées. Il se peut que vous deviez procéder à des étapes de migration manuelle supplémentaires après la migration des méthodes de consignation de base. Evaluer toute utilisation supplémentaire de LogFactory dans votre application.
  4. Les méthodes de la classe org.apache.juli.logging.Log possèdent des paramètres du type java.lang.Object. Les méthodes de la classe java.util.logging.Logger possèdent des paramètres du type java.lang.String. Si vous utilisez des paramètres d'un type autre que java.lang.String, il se peut que vous deviez effectuer une migration manuelle supplémentaire pour ajouter toString( ) aux paramètres après avoir exécuté la correction automatique migrera de org.apache.juli.logging.Log vers java.util.logging.Logger.

Pour plus d'informations, voir la documentation Java suivante :