카테고리 없음

인텔리제이 + 스프링 부트 + log4j2

주피터0410 2021. 12. 21. 17:27

기본폴더구조

* build.gradle 

- configurations 영역에 exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' 추가

- log4j2 버젼 추가

configurations {
    .
    .
    .
    all {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
}

ext['log4j2.version'] = '2.17.0'

 

- dependencies 영역에 log4j2 관련 추가

dependencies {
.
.
.
    implementation 'org.springframework.boot:spring-boot-starter-log4j2'
    implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
}

build.gradle 적용

 

* application.properties datasource 소스 수정

spring.datasource.url=jdbc:log4jdbc:mysql://111.111.111.111:3306/db명?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

 

* log4j2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="DEBUG">
    <Properties>
        <Property name="LOG_PATTERN">%d{HH:mm:ss.SSSZ} [%t] %-5level %logger{36} - %msg%n</Property>
    </Properties>
    <Appenders>
        <Console name="ConsoleLog" target="SYSTEM_OUT">
            <PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="ConsoleLog" />
            <AppenderRef ref="FileLog" />
        </Root>
    </Loggers>
</Configuration>

 

* log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
logging.level.jdbc.sqlonly=on