2014-07-08 4 views
0

log4j2 구현 (2.0-beta9) 및 slf4j.version 1.7.3을 사용합니다.java.lang.ClassCastException : org.slf4j.helpers.NOPLogger를 org.slf4j.spi.LocationAwareLogger에 캐스팅 할 수 없습니다.

java.lang.ClassCastException: org.slf4j.helpers.NOPLogger cannot be cast to org.slf4j.spi.LocationAwareLogger 

가 어떻게이 문제를 해결합니까 : 나는

logger.error("Error message is : " + e); ---> This line is throwing error like 

오류와 같은 오류를 인쇄하고 오류가있을 때마다 나는

private transient final Logger logger = LogManager.getLogger(this.getClass()); 

같은 로거를 초기화 무엇입니까?

+1

종속성이 깨지고 slf4j가 NOP 로거를 선택합니다. 올바른 log4j2 -> slf4j 브리지가 설치되어 있습니까? –

+0

이 클래스는 한 서버의이 클래스에서만 작동하며 다른 모든 장소에서는 항상 작동합니다. 여기에 우리가 사용하는 종속성은 다음과 같습니다 org.apache.logging.log4j 의 log4j-API org.slf4j SLF4J-log4j12 $ {slf4j.version} 당신은 가장 가능성 user3817430

+0

이 하나의 클래스 로더에 의해 정의 된 클래스는 다른 클래스 로더에 정의 된 클래스로 캐스트 할 수 없습니다. –

답변

1

완전한 구성에는 여러 개의 slf4j jar가있을 가능성이 높으며 한 클래스 로더에 정의 된 클래스는 다른 클래스 로더에 정의 된 클래스 또는 인터페이스로 캐스팅 할 수 없습니다.

0

또한 beta9는 매우 오래된 버전입니다. 기회가있을 때 rc2로 업그레이드하십시오.

관련 문제