Не использовать метод 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("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") Да

Пример: создание экземпляра класса протокола:

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 (R), com.ibm.websphere.logging.WsLevel . Он расширяет java.util.logging.Level чтобы обеспечить дополнительные уровни журнала. Если вы не хотите использовать WsLevel определенные уровни, вы также можете настроить эти сопоставления в диалоговом окне Конфигурация анализа в диалоговом окне Analysis Configuration под этим правилом 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: