No utilizar org.apache.juli.logging de Apache Tomcat

Esta regla detecta el uso del org.apache.juli.logging.Log y org.apache.juli.logging.LogFactory clases y métodos. Estos métodos de registro cronológico no están disponibles en WebSphere tradicional o Liberty y deben migrarse.

Hay un arreglo rápido disponible en el explorador de orígenes. Sustituye al org.apache.juli.logging.LogFactory :NONE. java.util.logging.Logger . También sustituye los métodos de registro de Apache Tomcat por Java Logger.log(Level, message) .

Algunos de los métodos de Apache Tomcat se correlacionan directamente con un java.util.logging.Level . Para los niveles que no se correlacionan directamente, puede personalizar el nivel de registro en el diálogo Configuración de análisis. Asimismo, el arreglo rápido actualiza las sentencias de importación de clases.

Las sustituciones del arreglo rápido se muestran en esta tabla de correlación. Los métodos de registro que pasan Throwable como segundo parámetro se correlacionan de la misma manera que sus contrapartidas en la tabla siguiente.

Método org.apache.juli.logging Método java.util.logging Configurable
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")
Log.error("msg") Logger.log(Level.SEVERE, "msg")
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")
Log.trace("msg") Logger.log(Level.FINE, "msg")

Por ejemplo, la creación de la instancia de clase de registro:

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

se migra a
Logger log = Logger.getLogger(MyClass.class.getName());

Este ejemplo muestra una llamada a org.apache.juli.logging.Log.error() con un Throwable como segundo parámetro.

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

El ejemplo se migra al código siguiente:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


Notas:
  1. Algunas de las migraciones de método de registro son configurables. Por ejemplo, si desea Log.trace que se migrarán a un nivel que no sea WsLevel.DETAIL , puede cambiarlo en el cuadro de diálogo Configuración de análisis.
  2. WsLevel se define en la clase IBM(R), com.ibm.websphere.logging.WsLevel . Se amplía java.util.logging.Level para proporcionar niveles de registro adicionales. Si no desea utilizar el WsLevel niveles definidos, también puede configurar estas correlaciones en el recuadro de diálogo Configuración de análisis bajo esta regla de Tomcat Java .
  3. No todos LogFactory se migran. Es posible que deba realizar alguna migración manual adicional una vez migrados los métodos de registro cronológico básico. Evalúe cualquier uso adicional de LogFactory en la aplicación.
  4. Los métodos de la clase org.apache.juli.logging.Log tienen parámetros del tipo java.lang.Object. Los métodos de la clase java.util.logging.Logger tienen parámetros del tipo java.lang.String. Si utiliza parámetros cuyo tipo no sea java.lang.String, debe realizar una migración manual adicional para añadir toString() a los parámetros después de ejecutar el arreglo rápido a fin de migrar desde org.apache.juli.logging.Log a java.util.logging.Logger.

Para obtener información adicional, consulte la siguiente documentación Java: