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 von org.apache.juli.logging.Log.error() mit einer Throwable als zweiten 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);
}


Hinweise:
  1. Die Migration einiger Protokollmethoden ist konfigurierbar. Zum Beispiel, wenn Sie wollen die Log.trace methode, die auf eine andere Ebene migriert werden soll als WsLevel.DETAIL können Sie sie im Dialogfeld Dialogfeld 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 log-Ebenen. Wenn Sie nicht die WsLevel definierten Ebenen, können Sie diese Zuordnungen auch im Dialogfeld Analysekonfiguration im Dialogfeld Analysekonfiguration unter dieser Regel Tomcat Java konfigurieren.
  3. Nicht alle LogFactory methoden migriert werden. Nach der Migration der Basisprotokollierungsmethoden müssen Sie möglicherweise zusätzliche manuelle Migrationsschritte ausführen. Bewerten Sie jede zusätzliche Verwendung von 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 nach java.util.logging.Logger.

Weitere Informationen finden Sie in der folgenden Java-Dokumentation: