Nepoužívat Apache Tomcat org.apache.juli.logging

Toto pravidlo zjistí použití org.apache.juli.logging.Log a org.apache.juli.logging.LogFactory třídy a metody. Tyto metody protokolování nejsou k dispozici na serveru WebSphere traditional nebo Liberty a musí být migrovány.

Jakmile bude k dispozici automatická oprava, nahradí se tím org.apache.juli.logging.LogFactory s java.util.logging.Logger . Také nahrazuje metody protokolování Apache Tomcat za Java . Logger.log(Level, message) .

Některé metody Apache Tomcat se mapují přímo na definovanou java.util.logging.Level . U úrovní, které nejsou přímo mapovány, můžete přizpůsobit úroveň protokolu v dialogovém okně Konfigurace analýzy.

Automatické náhrady oprav jsou uvedeny v této mapovací tabulce. Metody protokolu, které jako druhý parametr předávají metodu Throwable, jsou mapovány stejným způsobem jako jejich protějšky v následující tabulce.

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

Příklad: Vytvoření instance třídy protokolu:

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

je migrován do
Logger log = Logger.getLogger(MyClass.class.getName());

Tento příklad ukazuje volání na org.apache.juli.logging.Log.error() s pomocí Throwable jako druhý parametr.

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

Příklad je migrován do následujícího kódu:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


Poznámky:
  1. Některé z migrací metod protokolu jsou konfigurovatelné. Například, pokud chcete Log.trace metoda, která má být migrována na jinou úroveň než WsLevel.DETAIL , můžete jej změnit v dialogovém okně Konfigurace analýzy.
  2. WsLevel je definována ve třídě IBM(R), com.ibm.websphere.logging.WsLevel . Rozšiřuje se java.util.logging.Level chcete-li poskytnout další úrovně protokolování. Pokud nechcete používat WsLevel definované úrovně můžete také nakonfigurovat tato mapování v dialogovém okně Konfigurace analýzy pod tímto pravidlem Tomcat Java .
  3. Ne všechny LogFactory metody jsou migrovány. Po migraci základních metod protokolování můžete provést další ruční migraci. Vyhodnoťte případné další použití LogFactory metody ve vaší aplikaci.
  4. Metody ve třídě org.apache.juli.logging.Log mají parametry typu java.lang.Object. Metody ve třídě java.util.logging.Logger mají parametry typu java.lang.String. Pokud používáte parametry jiných typů než java.lang.String, bude možná nutné provést dodatečnou ruční migraci a přidat toString( ) k parametrům po spuštění automatické opravy bude migrovat z org.apache.juli.logging.Log na adresu java.util.logging.Logger.

Další informace viz následující dokumentace Java: