기존 log4j는 보안상 취약점 및 오랜시간 동안 업데이트 되지 않았다고 하여 log4j2로 변경해 보았음.
(github에서 알림이 와서 바꿈...)
+)읽어보기
1. pom.xml수정
기존 log4j는 org.apache.log4j였다면 log4j2는 org.apache.logging.log4j임.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.12.1</version>
</dependency>
2. log4j.xml 변경
파일명은 log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.log4j.xml" level="info"/>
<Root level="debug">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
+) 참고
log4j2의 이슈(CVE-2021-44228)에 따라 2.15.0으로 버전 업그레이드를 해주어야 한다.
참고로 spring boot를 사용할 경우 log4j로 기본 로그모듈을 log4j로 변경한 것이 아니라면, 해당 이슈와는 관련이 없다.
log4j-core를 사용하는지 확인하고, 사용한다면 수정이 필요하다.
maven은 pom.xml을 업데이트하고,
<properties>
<log4j2.version>2.15.0</log4j2.version>
</properties>
gradle은 build.gradle을 업데이트한다.
ext['log4j2.version'] = '2.15.0'
만약 자바 버전이 1.8 이하일 경우
시스템 속성을 변경해주는 방법을 사용할 수 있다. jar를 실행할 때 아래 설정을 추가한다.
-Dlog4j2.formatMsgNoLookups=true
참고로 log4j는 2.12.1까지만 자바 1.7버전을 지원하며 이후로는 지원계획이 없다고 밝혔다.
'STUDY > Spring' 카테고리의 다른 글
Spring | 스프링 시큐리티(Spring Security) (2) 로그인 구현 (0) | 2020.06.27 |
---|---|
Spring | 스프링 시큐리티(Spring Security) (1) 세팅하기 (2) | 2020.06.26 |
Spring | MyBatis 연동 (2) (+ Oracle) (0) | 2020.06.24 |
Spring | MyBatis 연동 (1) ( + JDBC, Oracle, jUnit, Spring-test) (0) | 2020.06.23 |
Spring | Dynamic Web Project로 스프링 프로젝트 생성하기 (0) | 2020.06.22 |