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.
Un correctif rapide est disponible dans le scanner de source. Il remplace le 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 mappés directement, vous pouvez personnaliser le niveau de journalisation dans la boîte de dialogue Configuration de l'analyse. De plus, le correctif rapide met à jour les instructions d'importation des classes.
Les remplacements effectués par le correctif rapide sont répertoriés dans la table de mappage ci-dessous. 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 :
Cet exemple illustre un appel à org.apache.juli.logging.Log.error() avec un Throwable comme second paramètre.
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 avec des types autres que java.lang.String, vous devrez peut-être effectuer une migration manuelle supplémentaire pour ajouter toString() aux paramètres après l'exécution du correctif rapide pour migrer de org.apache.juli.logging.Log vers
java.util.logging.Logger.
Pour plus d'informations, voir la documentation Java suivante :