본문 바로가기

프로그래밍언어

log4j:WARN Please initialize the log4j system properly. 해결방법

웹애플리케이션을 구현하다보면 로그는 정상적으로 나오는데 아래와 같은 경고(WARN)을 볼때가 있다. 사실 동작하는데 지장을 주는 것은 아니지만 나의 지론
"경고를 무시하지 말라!" 에 따라서 해결방법을 찾아보았다.

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.

이럴땐 아래와 같이 WEB-INF/web.xml 에서 붉은 색으로 표시한 부분과 같은 순서로 되어 있는지 확인한다. 즉, Log4J를 먼저 선언하면 위와 같은 경고는 없어진다.
  
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_NexfaAdminWeb" version="2.5"
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <display-name>NexfaApiWeb</display-name>

  <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>nexfa.apiweb</param-value>
  </context-param>

  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
  </context-param>

  <context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>5000</param-value>
  </context-param>
  
  
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>