Esta regra detecta o uso do org.apache.juli.logging.Log e org.apache.juli.logging.LogFactory classes e métodos. Esses métodos de criação de log não estão disponíveis no WebSphere tradicional ou no Liberty e devem ser migrados.
Há uma correção rápida disponível no scanner de origem. Ele substitui o org.apache.juli.logging.LogFactory com java.util.logging.Logger . Ele também substitui os métodos de criação de logs do Apache Tomcat pelo Java Logger.log(Level, message) .
Alguns dos métodos Apache Tomcat são mapeados diretamente para um java.util.logging.Level . Para os níveis que não são mapeados diretamente, é possível customizar o nível de log no diálogo Configuração de Análise Além disso, a correção rápida atualiza as instruções de importação de classe.
As substituições de correção rápida são mostradas nesta tabela de mapeamento. Os métodos de log que transmitem um Throwable como um segundo parâmetro são mapeados da mesma maneira que suas contrapartes na tabela a seguir.
| Método org.apache.juli.logging | Método java.util.logging | Configurável |
|---|---|---|
| LogFactory.getLog(Class.class) | Logger.getLogger(Class.class.getName()) | Não |
| LogFactory.getLog("log name") | Logger.getLogger("log name") | Não |
| LogFactory.getInstance(Class.class) | Logger.getLogger(Class.class.getName()) | Não |
| LogFactory.getInstance("log name") | Logger.getLogger("log name") | Não |
| Log.fatal("mgs") | Logger.log(WsLevel.FATAL, "msg") | Sim |
| Log.error("msg") | Logger.log(Level.SEVERE, "msg") | Sim |
| Log.warn("msg") | Logger.log(Level.WARNING, "msg") | Não |
| Log.info("msg") | Logger.log(Level.INFO, "msg") | Não |
| Log.debug("msg") | Logger.log(WsLevel.DETAIL, "msg") | Sim |
| Log.trace("msg") | Logger.log(Level.FINE, "msg") | Sim |
Por exemplo, a criação da instância da classe de log:
Este exemplo mostra uma chamada para org.apache.juli.logging.Log.error() com um Throwable como o segundo parâmetro.
org.apache.juli.logging.Log têm parâmetros de tipo java.lang.Object.
Os métodos na classe java.util.logging.Logger têm parâmetros de tipo java.lang.String.
Se você usar parâmetros com tipos diferentes de java.lang.String, poderá precisar executar a migração manual adicional para incluir toString() nos parâmetros após executar a correção rápida para migrar de org.apache.juli.logging.Log para java.util.logging.Logger.
Para obter informações adicionais, consulte a documentação Java a seguir: