org.jboss.logging.Logger 클래스를 사용하고 있으며 부적절한 것으로 보입니다. 오류나 경고가있을 경우 logger.error("error message")
또는 logger.warn("warning message")
을 사용하기 만하면 jboss-log4j.xml 파일의 설정에 따라 표시됩니다.JBoss에서 isTraceEnabled() 함수를 사용해야하는 이유는 무엇입니까?
그러나 기존 jboss 코드 인 this discussion 및 this link을 기반으로하면 추적을 사용할 때 logger.isTraceEnabled()
을 사용하여 활성화되었는지 여부를 먼저 결정해야합니다. 왜 나는 혼자서 흔적을 남기지 만하는 것일까 요?
이 있습니다. 따라서 성능이 좋습니다. 모든 요청에 대해 발생하는 정보 수준의 작업에 특히 적합합니다. – JoshC13
알다시피, 사용하는 로거에 따라 다릅니다. 예를 들어, org.slf4j.impl.Log4jLoggerAdapter는 내부적으로이 체크를하므로, 전혀하지 않아도됩니다. IMHO 좋은 로거가 내부적으로이 체크를하는 것이 가장 의미가 있습니다. 특히 이미 알고 있듯이 ... 당신의 메시지가 isTraceEnabled()를 호출하는 것보다 효율적이지 않은 방법으로 빌드되는 경우 얻을 수있는 유일한 성능 향상입니다 http://stackoverflow.com/questions/21281048/should-i-be-using-slf4j-istraceenabled-or-not) – ndtreviv