Nu utilizaţi Apache Tomcat org.apache.juli.logging

Această regulă detectează utilizarea org.apache.juli.logging.Log și org.apache.juli.logging.LogFactory clase și metode. Aceste metode de jurnalizare nu sunt disponibile în WebSphere tradiţional sau Liberty şi trebuie să fie migrate.

În scanerul de sursă este disponibilă o corecţie rapidă. Acesta înlocuiește org.apache.juli.logging.LogFactory cu java.util.logging.Logger . Acesta înlocuiește, de asemenea, metodele de exploatare forestieră Apache Tomcat Java Logger.log(Level, message) :NONE.

Unele dintre metodele Apache harta Tomcat la o definit java.util.logging.Level . Pentru nivelurile care nu harta direct, puteți personaliza nivelul de jurnal în dialogul de configurare analiză. În plus, corecţia rapidă actualizează instrucţiunile de import clase.

Înlocuirile corecţiei rapide sunt afişate în acest tabelă de mapare. Metodele de jurnalizare care transmit un Throwable ca al doilea parametru sunt mapate aşa cum sunt mapate şi corespondentele lor din următorul tabel.

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

De exemplu, crearea instanţei de clasă log:

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

este migrat la
Logger log = Logger.getLogger(MyClass.class.getName());

Acest exemplu arată un apel la org.apache.juli.logging.Log.error() cu un Throwable ca al doilea parametru.

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

Exemplul este migrat la următorul cod:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


Note:
  1. Unele dintre migrările metodelor de jurnalizare sunt configurabile. De exemplu, dacă doriți Log.trace metoda de a fi migrat la un alt nivel decât WsLevel.DETAIL , ai putea schimba în caseta de dialog Configurare analiză.
  2. WsLevel este definită în clasa de tip " IBM(R), com.ibm.websphere.logging.WsLevel . Se extinde java.util.logging.Level pentru a oferi niveluri suplimentare de jurnal. Dacă nu doriți să utilizați WsLevel defined levels, you can also configure those mappings in the Analysis Configuration dialog box under this Tomcat Java rule.
  3. Nu toate. LogFactory Metodele sunt migrate. Puteţi avea o migrare suplimentară manuală de făcut după ce sunt migrate metode de jurnalizare de bază. Evaluează orice utilizare suplimentară a LogFactory metode în aplicația dumneavoastră.
  4. Metodele din clasa org.apache.juli.logging.Log au parametri de tip java.lang.Object. Metodele din clasa java.util.logging.Logger au parametri de tip java.lang.String. Dacă folosiţi parametri cu tipuri diferite de java.lang.String, ar putea fi nevoie să faceţi o migrare manuală suplimentară pentru a adăuga toString() la parametri după rularea corecţiei rapide pentru a migra de la org.apache.juli.logging.Log la java.util.logging.Logger.

Pentru informaţii suplimentare, consultaţi următoarea documentaţie Java: