Ne használja az Apache Tomcat org.apache.juli.logging csomagját

Ez a szabály a használatát észleli org.apache.juli.logging.Log és org.apache.juli.logging.LogFactory Osztályok és metódusok. Ezek a metódusuk a hagyományos WebSphere és Liberty kiszolgálón nem állnak rendelkezésre, ezért át kell azokat venni.

A forráselemzőben rendelkezésre áll egy gyorsjavítás. Ez helyettesíti a org.apache.juli.logging.LogFactory Ezzel java.util.logging.Logger . Helyettesíti az Apache Tomcat naplózási metódusokat is a Java használatával. Logger.log(Level, message) Módszer.

Az Apache Tomcat metódusok egy része közvetlenül egy meghatározott java.util.logging.Level A nem közvetlenül leképezhető szintek esetében személyre szabhatja a naplózási szintet az Elemzési konfiguráció párbeszédablakban. Ezenkívül a gyorsjavítás frissíti az osztály importálási utasításokat is.

A gyorsjavítás cseréit a következő leképezési táblázat tartalmazza. A második paraméterként Throwable-t átadó napló metódusok ugyanúgy kerülnek leképezésre, mint az alábbi táblázatban látható megfelelőik.

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

Például a naplóosztály példányának létrehozása:

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

erre lesz átállítva:
Logger log = Logger.getLogger(MyClass.class.getName());

Ez a példa egy hívást mutat be org.apache.juli.logging.Log.error() Egy Throwable A második paraméterként.

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

Ez a példa az alábbi kódra lesz átállítva:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


Megjegyzések:
  1. Néhány napló metódus átállítása konfigurálható. Például, ha azt szeretné Log.trace A metódus átállítása más szintre, mint WsLevel.DETAIL Az Elemzés beállítása párbeszédablakban módosíthatja.
  2. WsLevel A IBM(R) osztályban van meghatározva, com.ibm.websphere.logging.WsLevel . Ez kiterjed java.util.logging.Level További naplózási szintek biztosítása. Ha nem akarja használni a WsLevel Meghatározott szintek, ezeket a leképezéseket a Tomcat Java szabály alatt is konfigurálhatja az Elemzési konfiguráció párbeszédablakban.
  3. Nem minden LogFactory A metódusok átállítása. Lehet, hogy az alapvető naplózási metódusok átállítása után további kézi átállítást is kell végeznie. Kiértékeli a további felhasználást LogFactory Az alkalmazás metódusai.
  4. Az org.apache.juli.logging.Log osztályban található metódusok java.lang.Object típusú paraméterekkel rendelkeznek. A java.util.logging.Logger osztályban található metódusok java.lang.String típusú paraméterekkel rendelkeznek. Ha nem java.lang.String típusú paramétereket használ, akkor lehet, hogy további kézi átállítás segítségével hozzá kell adnia a toString() metódust a paraméterekhez, miután a gyorsjavítás futtatásával az org.apache.juli.logging.Log osztályról áttért a java.util.logging.Logger osztályra.

További információkat a következő Java dokumentációkban talál: