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.

Cuando se disponga de una solución automatizada, ésta sustituirá a la opción 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 asignan directamente, puede personalizar el nivel de registro en el cuadro de diálogo Configuración de análisis.

Las sustituciones automáticas de fijos se muestran en esta tabla de asignació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 con tipos distintos de java.lang.String, es posible que tenga que realizar una migración manual adicional para añadir toString( ) a los parámetros después de ejecutar la corrección automatizada migrará de org.apache.juli.logging.Log a java.util.logging.Logger.

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