Ta reguła wykrywa użycie org.apache.juli.logging.Log oraz org.apache.juli.logging.LogFactory klasy i metody. Te metody logging nie są dostępne na tradycyjnym serwerze WebSphere ani Liberty i należy je poddać migracji.
Szybka poprawka jest dostępna w skanerze kodu źródłowego. Zastępuje on org.apache.juli.logging.LogFactory z java.util.logging.Logger . Zastępuje również metody rejestrowania Apache Tomcat językiem Java . Logger.log(Level, message) .
Niektóre metody serwera Apache Tomcat są odwzorowywane bezpośrednio na zdefiniowane java.util.logging.Level W przypadku poziomów, które nie są odwzorowywane bezpośrednio, można dostosować poziom rejestrowania w oknie dialogowym Konfiguracja analizy. Ponadto szybka poprawka aktualizuje instrukcje importu klasy.
Elementy użyte do wymiany przez szybką poprawkę są wyświetlone w tej tabeli odwzorowań. Metody Log, w których drugim przekazywanym parametrem jest Throwable, są odwzorowywane w taki sam sposób, jak ich odpowiedniki w poniższej tabeli.
| Metoda org.apache.juli.logging | Metoda java.util.logging | Konfigurowalne |
|---|---|---|
| LogFactory.getLog(Class.class) | Logger.getLogger(Class.class.getName()) | Nie |
| LogFactory.getLog("log name") | Logger.getLogger("log name") | Nie |
| LogFactory.getInstance(Class.class) | Logger.getLogger(Class.class.getName()) | Nie |
| LogFactory.getInstance("log name") | Logger.getLogger("log name") | Nie |
| Log.fatal("mgs") | Logger.log(WsLevel.FATAL, "msg") | Tak |
| Log.error("msg") | Logger.log(Level.SEVERE, "msg") | Tak |
| Log.warn("msg") | Logger.log(Level.WARNING, "msg") | Nie |
| Log.info("msg") | Logger.log(Level.INFO, "msg") | Nie |
| Log.debug("msg") | Logger.log(WsLevel.DETAIL, "msg") | Tak |
| Log.trace("msg") | Logger.log(Level.FINE, "msg") | Tak |
Przykładowo, operacja tworzenia instancji klasy rejestrującej:
W tym przykładzie przedstawiono wywołanie org.apache.juli.logging.Log.error() z Throwable jako drugi parametr.
org.apache.juli.logging.Log mają parametry typu
java.lang.Object.
Metody w klasie java.util.logging.Logger mają parametry typu
java.lang.String.
Jeśli używane są parametry z typami innymi niż java.lang.String,
konieczne może być przeprowadzenie dodatkowej migracji ręcznej w celu dodania
metody toString () do parametrów po uruchomieniu szybkiej poprawki
do migracji z klasy org.apache.juli.logging.Log do klasy
java.util.logging.Logger.
Więcej informacji na ten temat można znaleźć w następującej dokumentacji języka Java: