Questa regola rileva l'utilizza delle classi e metodi org.apache.juli.logging.Log e org.apache.juli.logging.LogFactory. Questi metodi di registrazione non sono disponibili in WebSphere traditional o Liberty e devono essere migrati.
È disponibile una correzione rapida nello scanner di origine. Sostituisce org.apache.juli.logging.LogFactory con java.util.logging.Logger. Sostituisce anche i metodi di registrazione Apache Tomcat con il metodo Java Logger.log(Level, message).
Alcuni metodi Apache Tomcat si associano direttamente ad un java.util.logging.Level definito. Per i livelli che non si associano direttamente, è possibile personalizzare il livello del log nella finestra di dialogo Configurazione analisi. Inoltre, la correzione rapida aggiorna le istruzioni di importazione della classe.
Le sostituzioni della correzione rapida vengono mostrate in questa tabella di associazione. I metodi di log che superano un Throwable come secondo parametro vengono mappati nello stesso modo delle loro controparti nella seguente tabella.
| org.apache.juli.logging method | java.util.logging method | Configurabile |
|---|---|---|
| LogFactory.getLog(Class.class) | Logger.getLogger(Class.class.getName()) | No |
| LogFactory.getLog("log name") | Logger.getLogger("log name") | No |
| LogFactory.getInstance(Class.class) | Logger.getLogger(Class.class.getName()) | No |
| LogFactory.getInstance("log name") | Logger.getLogger("log name") | No |
| Log.fatal("mgs") | Logger.log(WsLevel.FATAL, "msg") | Sì |
| Log.error("msg") | Logger.log(Level.SEVERE, "msg") | Sì |
| Log.warn("msg") | Logger.log(Level.WARNING, "msg") | No |
| Log.info("msg") | Logger.log(Level.INFO, "msg") | No |
| Log.debug("msg") | Logger.log(WsLevel.DETAIL, "msg") | Sì |
| Log.trace("msg") | Logger.log(Level.FINE, "msg") | Sì |
Ad esempio, la creazione dell'istanza della classe di log:
| Log log = LogFactory.getLog(MyClass.class); |
| Logger log = Logger.getLogger(MyClass.class.getName()); |
Questo esempio mostra una chiamata a org.apache.juli.logging.Log.error() con un Throwable come secondo parametro.
|
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
dispongono di parametri del tipo java.lang.Object.
I metodi nella classe java.util.logging.Logger dispongono di parametri del tipo
java.lang.String.
Se si utilizzano i parametri con tipi diversi da java.lang.String,
potrebbe essere necessario eseguire un'ulteriore migrazione manuale per aggiungere
toString() ai parametri una volta eseguita la correzione rapida per migrare da
org.apache.juli.logging.Log a
java.util.logging.Logger.
Per ulteriori informazioni, consultare la seguente documentazione: