org.apache.juli.logging von Apache Tomcat nicht verwenden

Diese Regel erkennt die Verwendung der org.apache.juli.logging.Log und org.apache.juli.logging.LogFactory Klassen und Methoden. Diese Protokollierungsmethoden sind in WebSphere Traditional und Liberty nicht verfügbar und müssen migriert werden.

Sobald eine automatische Korrektur verfügbar ist, wird sie die org.apache.juli.logging.LogFactory von java.util.logging.Logger . Sie ersetzt auch die Protokollierungsmethoden von Apache Tomcat durch Java . Logger.log(Level, message) Methode.

Einige der Apache Tomcat -Methoden werden direkt einer definierten java.util.logging.Level . Für die Ebenen, die nicht direkt zugeordnet werden können, können Sie können Sie die Protokollebene im Dialogfeld Analysekonfiguration anpassen.

Die automatischen Ersetzungen sind in dieser Zuordnungstabelle aufgeführt. Protokollmethoden, die ein Element der Throwable-Klasse als zweiten Parameter übergeben, werden auf dieselbe Weise wie ihre Entsprechungen in der folgenden Tabelle zugeordnet.

Methode von org.apache.juli.logging Methode von java.util.logging Konfigurierbar
LogFactory.getLog(Class.class) Logger.getLogger(Class.class.getName()) Nein
LogFactory.getLog("Protokollname") Logger.getLogger("Protokollname") Nein
LogFactory.getInstance(Class.class) Logger.getLogger(Class.class.getName()) Nein
LogFactory.getInstance("Protokollname") Logger.getLogger("Protokollname") Nein
Log.fatal("mgs") Logger.log(WsLevel.FATAL, "msg") Ja
Log.error("msg") Logger.log(Level.SEVERE, "msg") Ja
Log.warn("msg") Logger.log(Level.WARNING, "msg") Nein
Log.info("msg") Logger.log(Level.INFO, "msg") Nein
Log.debug("msg") Logger.log(WsLevel.DETAIL, "msg") Ja
Log.trace("msg") Logger.log(Level.FINE, "msg") Ja

Die Erstellung einer Instanz der Protokollklasse

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

wird beispielsweise auf den folgenden Code migriert:
Logger log = Logger.getLogger(MyClass.class.getName());

Dieses Beispiel zeigt einen Aufruf an org.apache.juli.logging.Log.error() mit einem Throwable als zweiter Parameter.

catch (Exception e) {
log.error("Some error message", e);
}

Das Beispiel wird auf den folgenden Code migriert:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


Anmerkungen:
  1. Die Migration einiger Protokollmethoden ist konfigurierbar. Zum Beispiel, wenn Sie die Log.trace Methode, die auf eine andere Version migriert werden soll als WsLevel.DETAIL , können Sie dies im Dialogfenster 'Analysekonfiguration' ändern.
  2. WsLevel ist in der Klasse IBM(R) definiert, com.ibm.websphere.logging.WsLevel . Es erweitert java.util.logging.Level um zusätzliche Protokollebenen bereitzustellen. Wenn Sie die WsLevel definierte Ebenen können Sie diese Zuordnungen auch im Dialogfenster "Analysekonfiguration" unter dieser Tomcat Java -Regel konfigurieren.
  3. Nicht alle LogFactory Methoden werden migriert. Nach der Migration der Basisprotokollierungsmethoden müssen Sie möglicherweise zusätzliche manuelle Migrationsschritte ausführen. Zusätzliche Verwendung von bewerten LogFactory Methoden in Ihrer Anwendung.
  4. Die Parameter der Methoden in der Klasse org.apache.juli.logging.Log sind vom Typ java.lang.Object. Die Parameter der Methoden in der Klasse java.util.logging.Logger sind vom Typ java.lang.String. Wenn Sie Parameter mit anderen Typen als java.lang.String, verwenden, müssen Sie möglicherweise eine zusätzliche manuelle Migration durchführen, um toString( ) zu den Parametern hinzufügen, nachdem Sie die automatische Korrektur migriert von org.apache.juli.logging.Log zu java.util.logging.Logger.

Weitere Informationen finden Sie in der folgenden Java-Dokumentation: