log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable. log4j:ERROR The class "org.apache.log4j.Appender" was loaded by log4j:ERROR [org.apache.catalina.loader.StandardClassLoader@68da4b71] whereas object of type log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [WebappClassLoader delegate: false repositories: /WEB-INF/classes/ ----------> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@68da4b71 ]. log4j:ERROR Could not instantiate appender named "stdout". |
톰캣에 log4j 라이브러리를 사용하다보면 위와같은 에러가 발생할 경우가 있습니다.
구글링을 해보면,
참조할 수 있는 log4j 라이브러리가 두개가 있어서 발생하는 문제라는걸 알 수 있습니다.
inteliJ를 사용하고 있다면 shift 키를 두번 눌러서 log4j*.jar 파일을 검색해 지우려고 할 수 있습니다.
그런데 아무리 찾아봐도 log4j가 하나 말고는 나오지가 않습니다.
몇시간을 헤매다가 이제야 해결책을 찾았습니다.
소스파일 라이브러리만 확인해보고 tomcat에 있는 lib 폴더를 확인을 안해봤네요.
tomcat에 있는 lib 폴더에도 log4j*.jar 파일이 있었습니다.
하나 삭제해주고 문제 해결했습니다.
저처럼 삽질하는 일이 없으시길 바랍니다.
반응형