Ez a szabály az org.apache.juli.logging.Log és org.apache.juli.logging.LogFactory osztályok és metódusok használatát észleli. 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 lecseréli az org.apache.juli.logging.LogFactory osztályt a java.util.logging.Logger osztályra. Lecseréli továbbá az Apache Tomcat naplózási metódusokat is a Java Logger.log(Level, message) metódusokra.
Az Apache Tomcat metódusok némelyike közvetlenül leképezhető egy meghatározott java.util.logging.Level osztályra. A közvetlenül le nem képezhető szintek esetében az Elemzés beállítása párbeszédablakban szabhatja személyre a naplózási szintet. 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); |
| Logger log = Logger.getLogger(MyClass.class.getName()); |
Ebben a példában az org.apache.juli.logging.Log.error() hívása látható, amelynek második paramétere Throwable.
|
catch (Exception e) { log.error("Some error message", e); } |
|
catch (Exception e) { log.log(Level.SEVERE, "Some error message", e); } |
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: