请勿使用 Apache Tomcat org.apache.juli.logging

此规则会检测 org.apache.juli.logging.Log org.apache.juli.logging.LogFactory 类和方法。 这些记录方法在 WebSphere Traditional 或 Liberty 中不可用,因此必须进行迁移。

当自动修复程序可用时,它将取代 org.apache.juli.logging.LogFactory 结合 java.util.logging.Logger 我不知道 它还将 Apache Tomcat 日志记录方法替换为 Java Logger.log(Level, message) 设置。

某些 Apache Tomcat 方法直接映射到定义的 java.util.logging.Level . 对于不直接映射的级别,您可以 在分析配置对话框中自定义日志级别。

本映射表显示了自动修复的替换情况。 将 Throwable 作为第二个参数传递的日志方法采用与下表中的对应项相同的方式进行映射。

org.apache.juli.logging 方法 java.util.logging 方法 可配置
LogFactory.getLog(Class.class) Logger.getLogger(Class.class.getName())
LogFactory.getLog("log name") Logger.getLogger("log name")
LogFactory.getInstance(Class.class) Logger.getLogger(Class.class.getName())
LogFactory.getInstance("log name") Logger.getLogger("log name")
Log.fatal("mgs") Logger.log(WsLevel.FATAL, "msg")
Log.error("msg") Logger.log(Level.SEVERE, "msg")
Log.warn("msg") Logger.log(Level.WARNING, "msg")
Log.info("msg") Logger.log(Level.INFO, "msg")
Log.debug("msg") Logger.log(WsLevel.DETAIL, "msg")
Log.trace("msg") Logger.log(Level.FINE, "msg")

例如,日志类实例创建操作:

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

会迁移到
Logger log = Logger.getLogger(MyClass.class.getName());

此示例显示调用 org.apache.juli.logging.Log.error() 有一个 Throwable 作为第二个参数。

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

该示例会迁移到以下代码:
catch (Exception e) {
log.log(Level.SEVERE, "Some error message", e);
}


注:
  1. 某些日志方法迁移操作是可配置的。 例如,如果您想要 Log.trace 要迁移到其他级别的方法 WsLevel.DETAIL ,您可以在 "分析配置" 对话框中对其进行更改。
  2. WsLevel 在 IBM® 类中定义, com.ibm.websphere.logging.WsLevel 我不知道 延伸 java.util.logging.Level 以提供其他日志级别。 如果您不想使用 WsLevel 定义的级别,您还可以在此 Tomcat Java 规则下的 "分析配置" 对话框中配置这些映射。
  3. 不是所有 LogFactory 迁移方法。 迁移基本的记录方法后,您可能需要手动执行额外的迁移操作。 评估任何其他用途 LogFactory 应用程序中的方法。
  4. org.apache.juli.logging.Log 类中的方法具有 java.lang.Object 类型的参数。 java.util.logging.Logger 类中的方法具有 java.lang.String 类型的参数。 如果使用的参数类型不是 java.lang.String, 类型之外的参数,可能需要进行额外的手动迁移,在参数中添加 toString( ) 的参数。 将从 org.apache.juli.logging.Log 迁移到 java.util.logging.Logger.

有关更多信息,请参阅以下 Java 文档: