[Springframework] log4j2설정(log4j로그 안찍히는현상해결)
2020. 8. 23. 18:42ㆍError/스프링프레임워크
728x90
[문제상황]
스프링 프로젝트 생성시 기본으로 설정되는 log4j.xml이 실행되지 않아서 로그가 찍히지 않는 현상 발생
[해결방법]
1. 기존 pom.xml에 작성되어있던 log4j관련 설정코드를 아래와 같이 변경해줍니다.
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
위 pom.xml만 수정 후 main메서드를 실행하면 콘솔에 ERROR발생
ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration
(logging only errors to the console), or user programmatically provided configurations.
Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging.
See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions
on how to configure Log4j 2
2. 프로젝트 src/main/resources 하위에 기존 log4j.xml 파일을 아래와 같이 코드를 변경해주고, 파일명을 'log4j2.xml'로 변경해줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p: %c - %m%n" />
</Console>
</Appenders>
<!-- Application Loggers -->
<Loggers>
<Logger name="com.springbook.biz" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework.core" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework.beans" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework.context" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework.web" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
</Loggers>
</Configuration>
3. 변경 후 main메서드를 실행해보면 아래와 같이 정상적으로 로그 찍힙니다.
DEBUG: org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loaded 1 bean definitions from class path resource [applicationContext.xml]
DEBUG: org.springframework.context.support.GenericXmlApplicationContext - Refreshing org.springframework.context.support.GenericXmlApplicationContext@1ad282e0
DEBUG: org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'tv'
===> SamsungTV 객체생성
SamsungTV---전원 켠다.
SamsungTV---소리 올린다.
SamsungTV---소리 내린다.
SamsungTV---전원 끈다.
DEBUG: org.springframework.context.support.GenericXmlApplicationContext - Closing org.springframework.context.support.GenericXmlApplicationContext@1ad282e0, started on Sun Aug 23 18:40:04 KST 2020
728x90