[Spring] log4j.xml 추가하기 (콘솔창에서 로그내역 확인하기)

2023. 7. 15. 08:56프로그래밍/웹 개발

Spring을 이용해 서버를 실행시 빈 객체 생성을 위한 Bean Factory, ApplicationContext 컨테이너, DIspatcherServlet 등 여러가지 환경이 실행되게 된다. 이 때 유저가 서버에서 어떤 요청을 했는지, 그에 따른 Dispatcher Servlet의 구동은 어떻게 됐는지 확인하기 위해서는 log4j 라이브러리를 추가해야한다. 라이브러리를 추가한 후에는 classpath(src/main/resources)에 log4j.xml 혹은 lo4j.properties 파일을 생성한다면 기본 경로로 설정돼 파일의 설정값을 인식한다(classpath로 설정된 기본 경로는 사용자 정의로 설정할 수 있다).

 

 

pom.xml에 의존성 추가 내용

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.12</version>
</dependency>

 

log4j.xml 파일 내용

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="https://logging.apache.org/log4j/2.x/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
    <root>
        <priority value="DEBUG" />
        <appender-ref ref="console" />
    </root>
</log4j:configuration>

* xmlns:log4j 태그의 URI끝에 2.x는 log4j의 버전을 뜻하는 것이나 위에서 설정한 1.x 버전에도 호환성을 지원하기 때문에 관계없다. 

그러나 찝찝하다면 pom.xml에서 dependency버전을 1.x로 수정하는 것을 추천

원본문서 참고

 

 

사용자가 홈페이지에서 응답을 요청(Request)했을 때 생성되는 bean객체들의 관한 정보 및 요청 과정이 상세하게 나오게 된다. 

아마 세부설정으로 더 자세하게 로깅을 설정할 수 있을듯하다.