박서희연구소

[Spring] Spring Boot 에 Log4j2 적용하기 본문

○ Programming [Web]/Spring

[Spring] Spring Boot 에 Log4j2 적용하기

SEOHUI PARK 2021. 5. 17. 16:24
반응형

[문제]

서버 개발 시, 로그 기록은 거의 필수적이라고 볼 수 있다.

[목표]

Spring Boot 에 Log4j2 를 연동하여 로그를 기록하는 방법을 알아본다.

[해결]

환경 : Spring Boot 2.4.5, Maven, Kotlin 1.5.0

1. Dependency 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

2. log4j2 설정 파일 추가

Spring Boot 는 클래스 경로에서 log4j2.xml 또는 log4j2.json 또는 log4j2.yaml 이라는 파일을 찾으면 자동으로 Log4j 를 구성한다.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">
            %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
        </Property>
    </Properties>
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
    </Appenders>
    <Loggers>
        <!-- 기본 패키지 경로 -->
        <logger name="kr.me.seohuipark.noblewayback" level="debug"/>

        <Root level="info">
            <AppenderRef ref="ConsoleAppender" />
        </Root>
    </Loggers>
</Configuration>

3. Main Class 에서 로그 확인

@SpringBootApplication
class NoblewayBackApplication

fun main(args: Array<String>) {
    // 로그 매니저 생성
    val logger: Logger = LogManager.getLogger(NoblewayBackApplication::class.java)

    runApplication<NoblewayBackApplication>(*args)

    // 로그 추가
    logger.debug("Hey, Log4j2!")
}

main class 에서 로그를 추가해주면, 서비스 구동 시 추가한 로그를 확인할 수 있다.

 

- 끝 -

반응형

'○ Programming [Web] > Spring' 카테고리의 다른 글

[Spring] 스프링 IoC 컨테이너  (0) 2022.05.19
[Spring] Spring Boot 에 MyBatis 연동  (0) 2021.05.17
Comments