이 규칙은 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 method | java.util.logging method | 구성 가능 |
|---|---|---|
| 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()); |
다음 예제에서는 두 번째 매개변수로 Throwable을 사용하는 org.apache.juli.logging.Log.error() 메소드에 대한 호출이 표시되어 있습니다.
|
catch (Exception e) { log.error("Some error message", e); } |
|
catch (Exception e) { log.log(Level.SEVERE, "Some error message", e); } |
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 문서를 참조하십시오.