커피와 개발자

log4j2 설정 본문

프로젝트/Spring Boot

log4j2 설정

광박이 2022. 10. 11. 11:47
728x90

Log4j

Log4j는 자바 기반 로깅 유틸리티입니다. 아파치 소프트웨어 재단의 프로젝트 아파치 로깅 서비스(Apache Logging Services)의 일부이며, Log4j는 여러 자바 로깅 프레임워크들 가운데 하나입니다. 최종 사용자가 제품의 문제나 정보를 식별하기 위해, 그리고 소프트웨어 개발자가 프로그램을 개발하는 도중에 디버깅 등을 위해 타임스탬프 등 정해진 양식에 맞추어 화면상이나 파일로 로그를 남길 목적으로 사용됩니다.

그 뒤로 Log4j의 뒤를 잇는 유틸리티를 제공할 목적으로 SLF4J와 로그 백(Logback) 프로젝트를 시작했습니다. (기본적으로 Spring boot에는 로그 백(Logback)이 적용되어 있으므로 로그 백(Logback)을 제외하고 log4j를 적용할 예정입니다.)

Log4j2는 전작에 비해 더 확장성을 높이기 위한 플러그인 아키텍처를 채택하고 있습니다.

  • 2015년 8월 5일, 아파치 로깅 서비스 프로젝트 관리 위원회는 Log4j이 수명 만기에 도달했으며 Log4j 사용자들은 아파치 Log4j2로 업그레이드할 것을 권고하고 있습니다.
  • 2021년 12월 9일, 제로 데이 임의 코드 실행 취약점이 Log4j2에서 발견되어 취약점 해결된 최신 버전을 사용하길 권장합니다.

pom.xml - dependency 적용 :

pom.xml 파일에 Spring boot에 기본으로 적용되어있는 로그 백(Logback)을 의존성 제외하고 spring-boot-starter-log4j2 dependency를 적용합니다.

log4j2.yml - 설정 파일 적용 :

log4j2.yml 파일을 작성하여 resources 디렉터리에 생성합니다. (최초 log4j2의 설정 파일은 xml이지만 제 프로젝트에는 yml파일로 변환하여 적용했습니다.)

application.yml - logging 설정 :

application.yml 파일에 logging에 log4j2 파일의 경로를 적용합니다. (application.properties 파일에서 yml 파일로 변환하여 적용했습니다.)

결과 확인 : 

http://localhost:9090/sample 접속 후 로그 출력됨을 확인

2022-05-21 21:45:35,899 [DEBUG] [http-nio-9090-exec-1] s.p.s.s.c.SampleController: SampleController.page debug log
2022-05-21 21:45:35,899 [INFO ] [http-nio-9090-exec-1] s.p.s.s.c.SampleController: SampleController.page info log

 

728x90

'프로젝트 > Spring Boot' 카테고리의 다른 글

DataBase 연동 (MariaDB, HikariCP)  (0) 2022.10.11
Argument Resolver 설정  (0) 2022.10.11
jsonView 설정  (0) 2022.10.11
AOP(Aspect Oriented Programming) 설정  (0) 2022.10.11
Interceptor 설정  (0) 2022.10.11
Comments