본문 바로가기
Old Posts/Java

[Java] log4j:WARN No appenders could be found for logger 에러 해결방법

by A6K 2022. 9. 6.

IntelliJ에서 자바 프로젝트를 실행했을 때 다음과 같은 경고 메시지가 출력되었다.

log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

개발중인 프로그램을 실행하는데에는 문제가 없지만 매번 경고 메시지가 출력되는 것이 신경쓰였다. 경고 메시지가 출력되지 않도록 조치를 취해보자.

원인

메시지의 내용에서 알 수 있듯이 이 메시지는 log4j 관련 메시지다. log4j는 자바로 작성된 애플리케이션에서 로그를 기록하기 위해 사용하는 라이브러리다.

log4j를 사용하는 라이브러리를 사용하거나 현재 프로젝트에서 log4j를 사용하고 있는 경우, 현재 실행중인 자바 환경에서 log4j.properties 파일 혹은 log4j.xml 파일을 찾아 로그와 관련된 설정을 한다. 이 메시지는 그 설정파일을 찾을 수 없을 때 출력된다.

해결

프로젝트의 resource 디렉토리나 클래스 패스에 log4j.properties라는 파일을 생성한 후 다음 내용을 써 넣자.

log4j.rootLogger=OFF

이렇게 설정하면 log4j 에서 로그를 남기지 않도록 설정한 것이다.

만약 라이브러리에서 로그를 남기고 싶다면 log4j 설정을 제대로 추가해줘야 한다.

log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

이런식으로 설정해주면 된다. log4j 설정방법은 이번 포스트에서 다루지는 않겠다.

댓글