此规则会检测 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 。对于未直接映射的级别,您可以在 "分析配置" 对话框中定制日志级别。 此外,该快速修订会更新类 import 语句。
此映射表中显示了该快速修订的替换项。 将 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") | 是 |
例如,日志类实例创建操作:
此示例显示调用 org.apache.juli.logging.Log.error() 有一个 Throwable 作为第二个参数。
org.apache.juli.logging.Log 类中的方法具有 java.lang.Object 类型的参数。
java.util.logging.Logger 类中的方法具有 java.lang.String 类型的参数。
如果使用非 java.lang.String 类型的参数,那么可能需要手动执行额外的迁移操作,以便在运行用于从 org.apache.juli.logging.Log 迁移到 java.util.logging.Logger 的快速修订之后将 toString() 添加至参数。
有关更多信息,请参阅以下 Java 文档: