Это правило обнаруживает использование 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("og name") | Logger.getLogger("log name") | Нет |
| LogFactory.getInstance(Class.class) | Logger.getLogger(Class.class.getName()) | Нет |
| LogFactory.getInstance("имя протокола") | 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,
может потребоваться дополнительное изменение - потребуется вручную добавить toString() к параметрам после выполнения процедуры быстрого исправления, заменяющей org.apache.juli.logging.Log на java.util.logging.Logger.
Дополнительная информация приведена в следующей документации по Java: